Jea*_*ado 2 bash brace-expansion
知道我能够运行echo或mv扩展这样的模式:echo {0..9}{A..Z}.我很想知道是否有办法执行相同操作但运行命令?
docker-compose {stop,rm,up -d}
Run Code Online (Sandbox Code Playgroud)
上面的例子不起作用,但有一些方法可以实现(分别运行stop,rm和up)?
不是你提到它的方式.
支撑膨胀发生在任何其他扩张之前.这意味着,当你说echo {0,1}{a,b},Bash在完成任何其他步骤之前扩展大括号.这样一来,就变成echo 0a 0b 1a 1b,一个命令.
当你提到时docker-compose {stop,rm,up -d},请注意这将扩展为单个命令:docker-compose stop rm up -d,这似乎没有效果.
看起来您想要运行三个不同的命令:
docker-compose stop
docker-compose rm
docker-compose up -d
Run Code Online (Sandbox Code Playgroud)
为此,您可能希望使用循环(注意"up -d"被引用以便将其视为单个参数):
for argument in stop rm "up -d"
do
docker-compose $argument
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |