首页 > 解决方案 > 如何检查 shell 脚本中的系统参数?

问题描述

我正在尝试通过 shell 脚本运行 python 脚本。为了运行 python 脚本,我发送了一个参数。所以我将该参数传递给 shell 脚本。但是如果参数没有通过,那么应该说请插入参数,如果参数通过,那么应该启动 python 脚本。

例子:

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

我正在尝试使用此 shell 脚本来运行该过程:

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

fi

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

标签: linuxbashshellunixsh

解决方案


您可以检查其中包含的字符串的长度$1是否非零。尝试:

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

fi

或更好:

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

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

推荐阅读