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

  • 2019年4月10日
  • 2019年4月10日
  • Linux

初期パスワードやトークンなどの文字やテストで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を呼び出すだけで乱数が生成できるなんで便利ですね。

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

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

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG