2017-07-25 156 views
0

腳本應該將值列表傳遞給參數,並應驗證是否有一個參數傳遞並且沒有列表。 例如 ./script --arg喜 腳本應該做的--arg命令,並添加/刪除喜如何在腳本中將值列表傳遞給shell參數

./script --arg「嗨,你好嗎」 在這種情況下沒有的參數傳遞給arg如果用戶輸入上述值到arg1,如何給出異常或通過錯誤。如果您想對傳遞的參數個數檢查

function test() { 
filename=$1 
echo $filename 
    case "$2" in 
    a) 
     echo $3 >> $filename 
     echo "add " 
     # cat $filename 
     shift 
     shift 
    ;; 
exit 
} 

test $fileName $3 $4 

回答

0

argsCount這裏會做的伎倆。在下面的示例中,我傳遞3個參數並驗證參數計數是否等於3,否則它將從腳本中退出。

#!/usr/bin/env bash 

set -ex 
set -o pipefail 

copyConfigFrom=$1 
hostConfigFileName=$2 
hostnameEmail=$3 

argsCount="$#" 

if [ "$argsCount" -ne 3 ]; then 
    echo "Usage: $0 copyConfigFrom hostConfigFileName hostnameEmail" 
    exit 1 
fi