[英]Why doesn't my if statement work in shell script?
我正在开发一个简单的游戏,我正在 shell 中为大学作业编程,但我不知道为什么我的最后一个 if 不能正常工作:
#! /bin/bash
sort -n num.txt > sorted_nums.txt
pc_num=`head -1 sorted_nums.txt`
read $user_num
if [ $user_num = $pc_num ]
then
echo "You are correct"
else
echo "You're wrong, the right answer was $pc_num"
fi
问题出现在 if 语句中,因为当我运行程序时,它总是会打印错误:
./nums.sh: line 9: [: =: binary operator expected
我也试过用 -eq 替换 = 还是不行
然后打印:
You're wrong, the right answer was $pc_num
谢谢!
好吧,你被引导到错误的线路。 实际上,您正在阅读错误的用户输入。 必须在没有$
的情况下read user_num
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.