【发布时间】:2010-09-26 00:10:32
【问题描述】:
是否可以从 bourne 脚本中将命令行参数传递给函数,以便让 getopts 处理它们。
我的脚本的其余部分很好地打包到函数中,但看起来我必须将参数处理移动到主逻辑中。
下面是现在的写法,但是不行:
进程参数() { 而 getopts j:f: arg 做 回声“${arg}——${OPTARG}” 案例“${arg}”在 j) 如果 [ -z "${filename}" ];然后 工作编号=$OPTARG 别的 echo "文件名 ${filename} 已设置。" echo "作业号 ${OPTARG} 将被忽略。 菲;; f) 如果 [ -z "${job_number}" ];然后 文件名=$OPTARG 别的 echo "已设置工作编号 ${job_number}。" echo "文件名 ${OPTARG} 将被忽略。" 菲;; 经社理事会 完毕 } 做东西1 过程参数 做东西2是否有可能以可以读取脚本参数的方式定义函数?这可以通过其他方式完成吗?我喜欢 getopts 的功能,但在这种情况下,我将不得不牺牲代码的美感来获得它。
【问题讨论】: