1
我完全不熟悉用shell script
編寫代碼。Bash Shell腳本錯誤:模棱兩可的重定向和一元運算符預期
這是我的代碼:
#!/bin/bash
echo -n "Output to $2 "
# set counter
count=1
# zap output file
> $2
# Loop
while [ $count -le $1 ]
do
# generate some random text
randomnumber=`od -A n -t d -N 1 /dev/urandom`
randomtext=`cat /dev/urandom | tr -cd "[:alnum:]" | head -c $randomnumber`
# generate a random number
randomnumber=`od -A n -t d -N 1 /dev/urandom`
# output to file
echo "$count,$randomtext,$randomnumber" | sed -e "s: *::g" >> $2
# increment counter
count=$(($count + 1))
if [ $(($count % 500)) -eq 0 ]
then
echo -n "." fi
done
echo " Output complete"
這是我的錯誤:
Line 2: ambiguous redirect and Line 14: unary operator expected.
任何人可以幫助我瞭解爲什麼我具有錯誤?
行號與代碼不一致。請改正。 –
看起來您需要驗證用戶輸入。有2個參數被提供? –
仔細閱讀[忘記在bash/POSIX shell中引用變量的安全隱患](https://unix.stackexchange.com/q/171346/4667) –