如何检查 shell 脚本中的系统参数?

How to check system argument in shell script?

我正尝试通过 shell 脚本 运行 python 脚本。对于 运行ning python 脚本,我发送一个参数。所以我将该参数传递给 shell 脚本。但如果参数未通过,则应该说请插入参数,如果参数通过,则应启动 python 脚本。

示例:

python script - new.py
shell script - new.sh
system argument - 'EUREKA'
run_command - bash new.sh 'EUREKA'

我正在尝试这个 shell 脚本到 运行 过程:

if [""]
then 
    python /medaff/Scripts/python/iMedical_Consumption_load_Procs.py ""
else
    echo "Please insert application_name"

fi

它总是在其他部分。你能纠正我吗?

您可以检查 </code> 中包含的字符串的长度是否为非零。尝试:</p> <pre><code>if [ -n "" ] then python /medaff/Scripts/python/iMedical_Consumption_load_Procs.py "" else echo "Please insert application_name" fi

或更好:

appname=""
while [ -z "$appname" ] 
do 
    read -p "Please insert application_name: " appname
done

python /medaff/Scripts/python/iMedical_Consumption_load_Procs.py "$appname"

您的情况不需要 if。你可以改为只做一个(即)

 python /medaff/Scripts/python/iMedical_Consumption_load_Procs.py "${1:?application_name missing}"

如果参数缺失或为空,:? 将输出错误消息并使用退出代码 1 中止脚本。

如果您只想测试参数是否存在,但允许空的应用程序名称,只需省略 :