bash - Shell:在 coomandline 参数上的两个循环
问题描述
在 shell 脚本中,我使用 shift 命令对位置参数进行了循环。在循环之后,我想重置并开始另一个循环参数。是否可以重新开始?
while [ $# -gt 0 ]; do
case "$1" in
"--bla")
doing sth
shift 2
;;
*)
shift 1
;;
esac
done
解决方案
您可以将参数保存在临时数组中。然后从中恢复位置参数。
args=("$@") # save
while .....
done
set -- "${args[@]}" # restore
推荐阅读
- r - 如何使用 R 自动将 XML 标记分配给文本块?
- xcode - Flutter Hexcolor 位码未启用
- react-native - RNCamera 用法:临时照片可以保存多长时间?
- python - 最小化包含并以表达式为条件的 if 语句
- sql-server - 找出 SQL Server 中每分钟的计数
- firebase - 如何在颤动中动态获取单个 Firestore 文档
- groovy - 在 SAP CPI 中添加节点的 Groovy 脚本
- c# - 如何在可观察集合的 UI 中立即反映任何添加、删除、字段更改
- c - C11内存模型真的和常见的优化有冲突吗?
- javascript - 将输入文本保存到本地存储时遇到问题