我有一个简单的bash脚本,请参见下文
#!/bin/bash
while getopts "t" opt; do
case $OPT in
t) JWT_TOKEN="$OPTARG"
;;
\?) echo "Invalid option -$OPTARG" >&2
;;
esac
done
echo "Token value is $JWT_TOKEN"
一个简单的测试电话是
my-script.sh -t 'test'
但这会创建以下输出
sedavidw@MacbookPro~$ sh my-script.sh -t 'test'
Token value is
sedavidw@MacbookPro~$
更新 能够通过将其更改为
来修复我的脚本#!/bin/bash
while getopts "t:" opt; do
case "${opt}" in
t) JWT_TOKEN="$OPTARG"
;;
\?) echo "Invalid option -$OPTARG" >&2
;;
esac
done
echo "Token value is $JWT_TOKEN"
从注释看来,t:
的更改对参数很有帮助。但是对于"${opt}"
部分的语法更改仍然不清楚,并且希望在此进行一些澄清