Linux + bashシェルでランダムな文字(数字)列を生成する方法

takahashi 著者:takahashi

Linux + bashシェルでランダムな文字(数字)列を生成する方法

初期パスワードやトークンなどの文字やテストでDBに入れて置く仮データなどを作るために、ランダムな文字列を生成したいときがあります。

最近ではそういった文字列を自動で生成してくれるWebサービスもありますが、大量に設定する必要がある場合全項目にコピペして入れていくのが大変なことがあり、そんな時はプログラム上で一気に生成して自動的に挿入させた方が便利な場合もあります。

今回はLinuxでシェルを使用している場合に便利な、ランダム文字列の生成方法をご紹介したいと思います。

・10文字のランダムな文字列を生成する

特殊文字を含めた10文字のランダムの文字列を生成します。

コマンドラインでランダムな10文字を得る方法 – Qiita

 cat /dev/urandom | base64 | fold -w 10 | head -n 1
$ cat /dev/urandom | base64 | fold -w 10 | head -n 1
MNgyFRhl1r
$ cat /dev/urandom | base64 | fold -w 10 | head -n 1
MNgyFRhl1r
$ cat /dev/urandom | base64 | fold -w 10 | head -n 1
7RlziejIT/

・ 0~32767の範囲で乱数を生成する

Bash限定ですが、0~32767の間の値をランダムに返してくれます。
数字しか受け付けない場合のランダムな値の生成に便利です。

シェルスクリプトでランダムにアレをやる – Qiita

echo $RANDOM
$ echo $RANDOM
8434
$ echo $RANDOM
210
$ echo $RANDOM
28360

$RANDOMを呼び出すだけで乱数が生成できるなんで便利ですね。

シェル上で実行できるということは、これをシェルスクリプトに突っ込んでループさせたり変数的に利用したりできるので、いろいろ便利な使い方ができます。

ランダムな値が必要な時は、是非お試しあれ。

  • この記事いいね! (0)

著者について

takahashi

takahashi administrator

Webエンジニア。 趣味で自宅サーバーを稼働中。 ファンタジーが好き。