linux - 处理第二个和更多参数中的每一个
问题描述
我有一个 bash 脚本可以再接受 1 个参数。我想分别处理第二个和进一步的参数。这是我的尝试:
SECOND_PLUS_ARGS="${@:2}"
for arg in "${SECOND_PLUS_ARGS[@]}"; do
echo "arg = $arg"
done
运行它作为./script.sh 1 2 3 4
打印以下输出:
$ ./script.sh 1 2 3 4
arg = 2 3 4
我期望:
$ ./script.sh 1 2 3 4
arg = 2
arg = 3
arg = 4
有没有办法修复脚本?
解决方案
SECOND_PLUS_ARGS
创建为标量然后将其用作数组没有多大意义。将其创建为数组:
SECOND_PLUS_ARGS=("${@:2}")
推荐阅读
- c# - 从 MongoDB 获取无类型数据给出“未知鉴别器值”
- java - 多个相同的应用程序和深度链接
- docker - 使用 COPY --FROM 时,在 ppc64 上从 Dockerfile 构建映像失败
- python - python中的WOE和IV表
- excel - VBA - 数据透视表刷新 1004 应用程序未定义错误
- matlab - Simulink 家用热系统作为 AC
- mysql - 尝试添加项目时获取空的sqlite DB和“(sqlite3.OperationalError)没有这样的表:..:”
- android - 如何从后端将视频加载到应用程序中?
- android - 如何使用 ViewModel 在 Fragment 之间进行通信?
- html - 如何将 html 中的变量字符串值渲染到烧瓶中?