小编Mon*_*_Lu的帖子

if(比较 var1 var2)“var1 未找到”错误

我发现这个简单的 bash 可以说明我的问题:

  #!/bin/sh 
str1="Learn Bash"
str2="Learn Bash"

if (( "$str1" == "$str2" )); then
   echo "Both Strings are Equal."
else
   echo "Both Strings are not Equal."
fi 
Run Code Online (Sandbox Code Playgroud)

结果是:

    if_equal.sh: 6: if_equal.sh: Learn Bash: not found

Both Strings are not Equal.
Run Code Online (Sandbox Code Playgroud)

基本上我希望 if 将 awk 的结果与浮点数进行一次比较,然后与用户给出的整数进行比较,所以当我可以时,我使用

[ "$c" -gt "$o" ] 
Run Code Online (Sandbox Code Playgroud)

但它不适用于浮点数,我也不能使用第三个变量来循环它,如下所示:

[ "$c" -gt "$o" ] && echo fine || [ "$b" -gt "$o" ] && echo better
Run Code Online (Sandbox Code Playgroud)

我已经检查了所有空格,尝试使用和不使用“、[]、()、(())...我找不到为什么 if 发现第一个变量丢失。顺便说一句,我的脚本创建了一个文件“0.9500”因为我运行它

if (( "$c" > "0.9500" ))
Run Code Online (Sandbox Code Playgroud)

也许有解决方法?

bash shell-script

0
推荐指数
2
解决办法
1333
查看次数

标签 统计

bash ×1

shell-script ×1