./fortune.sh -f thing.txt -a -n 2
是格式,我的代码已经检查了“ -f”,“-n”,“-a”和“ 2”(也就是第五个参数,可以是任意数字)以显示for循环应该循环多少次)。但是在我的代码中,输出是它要求我输入一次,然后从文本文件中打印出随机行。我需要它来询问用户输入的次数(添加到文本文件“ thing.txt”上);例如,由于第五个参数是“ 2”,它将要求两个输入
我已经尝试使用变量作为占位符,例如:yah2=$5 userfile=$2
,对于将输入添加到文件的部分,我做了类似的事情:
read -p "Enter a new fortune: " wisdom2
echo "$wisdom2" >> "$userfile"
它仅添加一个输入,然后向我显示文件中的随机行。
if [ "$1" = "-f" ] && [ "$3" = "-a" ] && [ "$4" = "-n" ]
then
yah2=$5
userfile=$2
for i in $yah2
do
read -p "Enter a new fortune: " wisdom2
echo "$wisdom2" >> "$userfile"
done
fi
如前所述,代码需要让我输入第五个参数的次数。例如,如果$ 5 = 2,它将被放置在变量“ yah2”中,因此它将循环两次,但不会。我也不知道“ echo”是否也做对了。