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