次のコードでランダムな文字列を生成しようとしています:
for pic in `ls *.jpg`; do
rdn=`echo $RANDOM | sha256sum | cut -d" " -f1`
mv "$pic" ${rnd}.jpg
done
スクリプトのこの部分は、多数の jpeg ファイルを含むディレクトリ内から実行され、ファイル名をランダム化する必要があります。問題は$RANDOM
、反復中に変数が更新されないため、毎回同じハッシュが得られることです。を使用しようとしまし/dev/urandom
たが、動作しますが、 よりもかなり遅いです$RANDOM
。$RANDOM
読み取られるたびに「再生成」するにはどうすればよいですか?