【发布时间】:2020-10-10 01:37:56
【问题描述】:
我想使用包含数字的字符串作为脚本的输入。这个列表可能相当长,并且可能包含连续的数字范围,所以我考虑做ls 样式列表规范。但是,如何在脚本中扩展此列表?
更具体地说,我想运行:
myscript node-[2,5-7,10-13]
并且能够在我的脚本中循环遍历 node-2、node-5、node-6 等。
更新:似乎我需要在列表中使用大括号和点。我可以将字符串转换为该字符串,但是如何使脚本将其视为列表呢?我能做什么:
nodelist=`echo $1 | sed 's/\[/\{/' | sed 's/\]/\}/' | sed 's/-/../'`
但是对于输入 node[1-3] 例如我得到:
>echo $nodelist
node{1..3}
【问题讨论】:
标签: bash command-line-arguments square-bracket