我正在尝试创建一个接受命令行参数的bash文件,但是我的OPTARG没有产生任何结果,看来这是必要的,以使其工作?
这是我有的:
#!/bin/bash
while getopts ":b" opt; do
case $opt in
b)
echo "result is: $OPTARG";;
\?)
echo "Invalid option: -$OPTARG" >&2;;
esac
done
Run Code Online (Sandbox Code Playgroud)
当我用:运行时file.sh -b TEST,这是我得到的结果:result is:
有什么想法在这里发生了什么?
anu*_*ava 10
你之后错过了一个冒号b(以前不需要b).
使用此脚本:
#!/bin/bash
while getopts "b:" opt; do
case $opt in
b)
echo "result is: $OPTARG";;
*)
echo "Invalid option: -$OPTARG" >&2;;
esac
done
Run Code Online (Sandbox Code Playgroud)