shell脚本或函数传参数,可以访问位置变量来使用参数的值。但是在参数比较复杂的情况下,最好使用getopts处理,用来处理命令行的选项和参数。
创新互联从2013年成立,是专业互联网技术服务公司,拥有项目成都做网站、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元台江做网站,已为上家服务,为台江各地企业和个人服务,联系电话:028-86922220语法格式:
getopts option_string args
若script.sh参数为-f filename -e editor -p cat,即./script.sh -f filename -e editor -p cat
选项和参数的判断可以如下:
while getopts f:e:p: option
do
case "${option}" in
f)
file_name=${OPTARG};;
e)
editor=${OPTARG};;
p)
page=${OPTARG};;
\?)
command;;
esac
done
option_string包含被处理的选项字符,如f,e,p。如果某个选项后有冒号,表示这个选项后要指定参数,选项和参数之间空格分隔,如-f filename
选项会保存在args中,如示例的option,处理f选项时,$option的值为f;参数值会保存在OPTARG中,处理f选项时,$OPTARG值为filename。
getopts每次成功处理选项后,退出状态是0
当getopts命令返回非0值表示没有选项再被处理,while循环退出。
如果某个选项后有冒号,表示这个选项后要指定参数,若执行脚本时,选项后没有参数,getopts会把?赋值给option。?为特殊字符,使用原样时,需要转义。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。