我想做这样的事情:
git clone https://github.com/meteor{A,B,C,D}test
但 bash 不会将 the 转换{}
为each。我究竟做错了什么?
答案1
您使用的语法{A,B,C,D}
是有效的,但它会导致参数分裂。这意味着您的命令将运行为:
git clone https://github.com/meteorAtest https://github.com/meteorBtest https://github.com/meteorCtest https://github.com/meteorDtest
你想要的是运行 4 个不同的命令。执行此操作的一种简单方法是for
循环。
for url in https://github.com/meteor{A,B,C,D}test; do git clone "$url"; done
答案2
你也可以这样做
echo https://github.com/meteor{A,B,C,D}test | xargs -n 1 -d ' ' git clone
echo 会将其扩展为 4 个 git url 并git clone
克隆它