bash - Bash脚本没有获取输入变量
问题描述
我有一个简单的 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}"
部分的语法更改,并希望有一些清晰
解决方案
推荐阅读
- python-3.x - Python / Pandas:根据条件/索引重命名DataFrame中的几个列名
- javascript - 如何添加字符限制、获取评论长度、查找剩余字符、超过 255 个字符的条件
- python - pycharm 上的不同版本
- css - Material UI:如何对齐不同的表单元素,包括连续的选择器?
- macos - 在 macOS 上安装 Bazel 的推荐方式是什么?
- iis - Visual Studio 20149 远程调试器窗口不显示应用程序池和用户名
- c++ - 如何确保模板参数具有 value_type 并且是可迭代的?
- javascript - 当我点击 youtube 图标时,我会做什么,它会将我带到 www.google.com
- html - 为什么页脚没有归档全屏宽度 html/Bootstrap 5
- python - 使用 Python 反转数字中的位