2017-07-07 79 views
-3

什麼是if [[ -z $1 ]]聲明在這裏完全檢查?在bash腳本中使用這個。

每當我運行它輸出這樣的:

[根@本地〜]#SH script.sh

沒有給出參數

#!/bin/bash 

if [[ -z $1 ]]; then 

echo "No argument is given" 


elif [ "$1" == "testfile" ] ; then 

echo "Right argument is given" 

else 

echo "Wrong argument is given" 

fi 
+2

什麼時候人們終於開始簡單地讀取他們所使用的工具的文檔? – arkascha

回答

3

man bash

[[ expression ]] 

返回取決於條件表達式的評估

和下面進一步

-z string 

真,如果字符串的長度爲零0或1的狀態。

-3

$#變量會告訴您腳本傳遞的輸入參數的數量。

或者你可以檢查如果有一個參數爲空字符串或不喜歡:

if [ $# -eq 0 ] 
    then 
    echo "No arguments supplied" 
fi 
+0

問題中沒有提及傳遞參數的數量,'$ 1'可以是沒有'$#'爲0的空字符串。 – chepner