bash, shellscript
shellscript の小技を書いていく
shellscript で疑似乱数をつかう
math パッケージなんてものがあるわけではなく、実は環境変数を見る。
$RANDOM に疑似乱数が 0 - 32767 までの値で入っていて、それを割っている。
bc コマンドで echo された文字を評価する。
scale で桁数を選べて、 0 で整数にできる。デフォルトが 0 だから、上記の場合は必要なかったりする。
参考
スクリプトでオプションを取れるようにする
getopts コマンドで作ったスクリプトにオプションを渡せるようになる。
値を持つものは b: というように指定する必要があるから、気をつけるべし。
| |
参考
bash -cl の意味
CI/CD などでコンテナを触ったりするとたまに見かけるこの表記。
-c は引数を文字列として bash に渡す。-l はログインシェルとして実行される。
のだが、実はこうすることで bash としてコマンドを実行するということを明示している。コンテナのイメージによっては、デフォルトで /bin/sh で実行されたりする。
その場合は、bash の機能(配列の定義や bash に登録している path など bash で動作する想定のもの)が利用できない。
-cl とすることで、bash で動作するコマンドがそのまま実行できるということだ。 普段はターミナルが bash と決まっているから意識することがないが、ふえぇという感じだ。