2017-03-18 136 views
-1

我寫簡單的腳本是這樣的:腳本失敗找不到命令

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

回答

2
#!/bin/sh 

x=1 
y=1 

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

我想這可能成爲你的目的。

-2

首先,你應該嘗試使用[]

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

它的'-eq',不只是'eq'。當使用單個'['時,不要忘記引用'$ x'。 – Socowi

+0

或者只是閱讀「man test」:) – darvark

+1

並且不要使用'-o';使用兩個單獨的測試命令與'||'結合。 – chepner