ゲンゾウ用ポストイット

Java、Groovy、Linux関連の備忘録

Bashでランダムな文字列を作成する

背景

Webサイトを見ていてたまたま urandom というものを見つけた。 これをうまく使うことでランダムな文字列を生成できる。

環境

$ uname -a
Darwin genzouw-no-MacBook-Pro.local 15.0.0 Darwin Kernel Version 15.0.0: Sat Sep 19 15:53:46 PDT 2015; root:xnu-3247.10.11~1/RELEASE_X86_64 x86_64 i386 MacBookPro10,1 Darwin


$ bash -version
GNU bash, バージョン 4.3.42(1)-release (x86_64-apple-darwin14.5.0)
    Copyright (C) 2013 Free Software Foundation, Inc.
    ライセンス GPLv3+: GNU GPL バージョン 3 またはそれ以降 <http://gnu.org/licenses/gpl.html>

    This is free software; you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

試してみる

ランダムな8文字の数字

% cat /dev/urandom| tr -dc '[:digit:]'| head -c 8
18069591

ランダムな10文字の英数字

cat /dev/urandom| tr -dc 'A-Za-z0-9'| head -c 10
txdya1xDQn

その他

一部のサイトでは、以下の用に ":digit:" の部分を ":alnum:" にして英数字を出力しようとしているものもあったのだが、僕の環境では正常に動かなかった。 どうしても10文字出力されない。

% cat /dev/urandom| tr -dc '[:digit:]'| head -c 10

ひとこと

Bashでも色々できますね。

広告を非表示にする