1
shell script
でコードを書くのがまったく新しいです。Bashシェルスクリプトエラー:あいまいなリダイレクトと単項演算子が予想される
これは私のコードです:
#!/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シェルで変数を引用するのを忘れることのセキュリティ上の意味](https://unix.stackexchange.com/q/171346/4667) –