脚本失败找不到命令

问题描述:

我写简单的脚本是这样的:脚本失败找不到命令

x=1 
y=1 

while ($x eq "1") || ($y eq "1") 
do 
x=10 
echo "inside loop" 
done 

这是给我下面的错误:

sh-4.2$ bash -f main.sh                   


    main.sh: line 8: 1: command not found                                  
    main.sh: line 8: 1: command not found 

有什么不对我的脚本,我怎么能解决这个问题?

+0

就像学习任何其他语言一样,你应该阅读文档,而不是只写你认为有效的语法。 – chepner

+0

请在此寻求帮助之前,请尝试http://shellcheck.net/。另外,[Stack Overflow'bash'标签wiki](/ tags/bash/info)与许多初学者常见问题有很多联系。 – tripleee

#!/bin/sh 

x=1 
y=1 

while [ $x -eq "1" ] || [ $y -eq "1" ] 
do 
     x=10 
     y=10 
     echo "inside loop" 
done 

我想这可能成为你的目的。

首先,你应该尝试使用[]

while [ $x eq "1" -o $y eq "1" ] 
+2

它的'-eq',不只是'eq'。当使用单个'['时,不要忘记引用'$ x'。 – Socowi

+0

或者只是阅读“man test”:) – darvark

+1

并且不要使用'-o';使用两个单独的测试命令与'||'结合。 – chepner