for m in {1..100}
do
r1=`shuf -n1 -i1-100`
r2=`shuf -n1 -i1-100`
if [[ "${r1}" -lt "${r2}" ]]
then
resstr=`echo "$m" | md5sum | cut -b ${r1}-${r2}`
else
resstr=`echo "$m" | md5sum | cut -b ${r2}-${r1}`
fi
str="."
for n in `echo ${resstr}|fold -w1`
do
str="${str}/`shuf -n5 -i100-500| tr -d '\n'|md5sum |cut -b1-6`"
done
echo "mkdir -p ${str}"
done
ローカルで実行しようとしましたが、エラーが発生しました。誰かがそれが何をして何に使用されるかを説明できますか?
答え1
このスクリプトは中bash
括弧拡張を実行し、GNU coreutilsがインストールされている他のシェルを想定して、ある種のmkdir
ディレクトリ構造を生成するためのコマンドを出力します。ここで、ディレクトリ名は乱数として計算されたMD5チェックサムから来ます。
これが役に立つかどうかはわかりません。いくつかのスタイルの問題と引用されていない変数の拡張に加えて、スクリプトにすぐにエラーがありません。