繁体   English   中英

为什么我的 if 语句在 shell 脚本中不起作用?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM