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脚本中。