0
bash腳本應傳遞到另一個腳本,這是在我的情況Python腳本它的參數:bash腳本:避免空字符串參數
python test.py "$1" "$2" "$3"
的Python腳本使用argparse庫,並會與返回錯誤,如果存在空字符串參數,即父腳本被調用少於3個參數。 我在示例中使用python腳本的原因是,如果未使用「空字符串」 - 賦值參數,它可能無法在子shell腳本中識別。規避錯誤
的一種方法,是檢查參數的個數$#
並明確處理每個可行情況下:
if [ $# -eq 0 ]
then
python test.py
elif [ $# -eq 1 ]
then
python test.py "$1"
elif [ $# -eq 2 ]
then
python test.py "$1" "$2"
else
python test.py "$1" "$2" "$3"
fi
注意,我引用的論據,因爲它們可能會包含空格。
這個(臃腫的)解決方案存在哪些替代方案?
解決方案不應該依賴於傳遞參數列表作爲一個整體。可能需要更改參數的順序或將其他局部變量作爲參數添加到python腳本中。