是否可以将命令行参数从 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 的功能,但看起来在这种情况下我将不得不牺牲代码的美感来获得它。