脚本按顺序执行命令

时间:2018-08-10 16:58:51

标签: php arrays bash

我试图弄清楚如何编写一个脚本,该脚本本质上一个接一个地执行(前提是上一条命令已完成)。

php bin/console SOME:CUSTOM:COMMAND <PART_1_ARGUMENT> <PART_2_ARGUMENT> --env=xxx
  • 以下内容是固定的,我需要在它们之间传递一个变量列表
    • php bin /控制台命令--env = xxx

例如可以说我有以下内容作为参数

  • 苹果派
  • 苹果崩溃
  • 梨苹果

然后我的命令将按顺序执行,就像

php bin/console COMMAND Apple pie --env=xxx 

,然后紧接着

php bin/console COMMAND Apple crumble --env=xxx 

以此类推?

我已经在Google上搜索了几个小时了。(新手)

1 个答案:

答案 0 :(得分:0)

您可以使用循环:

for args in "Apple pie" "Apple crumble" "Pear apple"
do
    php bin/console COMMAND $args --env=xxx
done

一个警告:如果任何参数可以包含空格或通配符,则此操作将无效。您不能在命令行中引用$args,因为您需要Applepie作为单独的参数。将引号放在字符串中将不起作用,因为扩展变量时不会分析引号。您可以使用两个数组来做到这一点:

arg1=("Apple" "Apple" "Pear")
arg2=("pie" "crumble" "apple")

for (( i=0; i < ${#arg1[@]}; i++ ))
do
    php bin/console COMMAND "${arg1[$i]}" "${arg2[$i]}" --env=xxx
done