欢迎光临
我们一直在努力

bash – 使用花括号参数列表多次执行命令

本站教程收集整理的这篇文章主要介绍了bash – 使用花括号参数列表多次执行命令,本站教程本站觉得挺不错的,现在分享给大家,也给大家做个参考。

当我需要使用不同的参数多次运行命令时,我使用了这种方法(完全不了解它):

touch {a,b,c}

这相当于:

touch a
touch b
touch c

我认为使用以下循环可以实现同样的目的:

for file in {a,c}; do touch $file; done

但是,我偶然发现了一个不起作用的情况:

pear chAnnel-discover {"pear.phpunit.de","pear.symfony-project.com"}

我有几个问题:

>第一个例子中发生了什么的名称是什么,到底发生了什么?
>将此方法用于简单事物而不是for-in循环是否更好?
>为什么pear命令不能那样工作?命令脚本应该实现一些处理这些参数的技术,还是sHell负责这个?

这称为
Brace Expansion,它扩展为给定字符串的空格分隔列表.

所以触摸{a,c}就相当于

touch a b c

触摸{a,c} x相当于:

touch ax bx cx

你的pear命令基本上可以运行为:

pear chAnnel-discover pear.phpunit.de pear.symfony-project.com

这可能不是你所期望的.如果您希望为每个字符串运行一次命令,请使用for循环(它回答您的第二个问题),或使用大括号扩展和Xargs的组合.

本站总结香港vps

以上是本站教程为你收集整理的bash – 使用花括号参数列表多次执行命令全部内容,希望文章能够帮你解决bash – 使用花括号参数列表多次执行命令所遇到的程序开发问题。

如果觉得本站教程网站内容还不错,欢迎将本站教程推荐给好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。