2016-11-11 80 views
2

我有一個我正在製作的腳本,它是一個非常簡單的登錄腳本。在一個bash「IF」語句中使用兩個表達式

我在想,如果你可以有兩個表達式中的一個慶典「IF」語句,就像這樣:

if [ $User == "root" and $Pass == "passwd" ] 

如果任何人都可以回答,那將是巨大的:d

回答

4

bash,你應該使用條件表達式

if [[ $User == root && $Pass == passed ]]; 

如果您需要或想要使用test,然後再加入用&&兩個測試命令:

if [ "$User" = root ] && [ "$Pass" = passed ]; 

一定要現在te用作參數[的參數的任何參數擴展,並使用=而不是==

0

使用-a並。而且,=而不是==。另外你最好雙引號變量,否則當變量沒有設置時你會看到語法錯誤。

if [ "$User" = "root" -a "$Pass" = "passwd" ]

+3

'-a'被宣佈已過時,不應使用。相反,用'&&'連接兩個命令:'[「$ User」= root] && [「$ Pass」= passed]'; – chepner