1
我有一些代碼(Bash腳本.sh),它產生了不同的字符組合。Bash腳本:逃逸的明星角色
當變量「chars」包含具有「\」(*)的星號時,將生成一個帶有斜線和星號的字符串。但是當我刪除星號前面的斜線時,會拋出一串文件名。
有沒有人有任何想法如何我可以生成正確的字符串與明星?
min_length="1"
max_length="2"
chars="\` ~ ! @ # $ %^& \* () - _ = + [ { ] } \ | ; : ' \" , <.>/?"
generateCombinationsOfString() {
for c in $chars; do
nc=$[$nc+1]
ch[$nc]=$c
done
for x in `seq 1 $[$max_length+1]`; do
if [ $min_length -ge $x ]; then
ci[$x]=1
else
ci[$x]=0
fi
done
for clen in `seq $min_length $max_length`; do
while [ ${ci[$[$clen+1]]} -ne 1 ]; do
wrd=""
for x in `seq $clen -1 1`; do
wrd=$wrd${ch[${ci[$x]}]}
done
echo "${wrd}"
ci[1]=$[${ci[1]}+1]
for x in `seq 1 $clen`; do
if [ ${ci[$x]} -gt $nc ]; then
ci[$x]=1
ci[$[$x+1]]=$[${ci[$[$x+1]]}+1]
fi
done
done
done
}
generateCombinationsOfString
會是怎樣爲你一個「正確的字符串」? – emecas