bigben446 2022-03-10 02:29 采纳率: 85.7%
浏览 39
已结题

shell命令转换 多个相同参数重复运行

有个shell命令,支持一个参数运行,比如:shell-test 参数a。但是在实际使用的时候常常需要有多个相同性质的参数运行,类似于shell-test a && shell-test b & shell-test c的格式,想用一个shell脚本shell-test2.sh包装一下,运行时候bash shell-test2.sh a b c即可,参数之间以空格隔开,这样使用方便些。

这个shell-test2.sh该怎么写?我知道可以用$1、$2传入变量,但是对于这种其实是执行多个相同变量的,&&这种的,该如何写?谢谢

  • 写回答

3条回答 默认 最新

  • _GX_ 2022-03-10 04:32
    关注
    $ cat shell-test.sh
    #!/bin/bash
    echo "Running with argument $1"
    
    $ cat shell-test2.sh
    #!/bin/bash
    index=1;
    argc=$#;
    exitcode=0;
    while [ $index -le $argc -a $exitcode -eq 0 ]
    do
        echo "Run \"sh ./shell-test.sh $1\"";
        sh ./shell-test.sh $1;
        exitcode=$?;
        index=$((index+1));
        shift 1;
    done
    
    $ sh ./shell-test.sh a b c d
    Run "sh ./shell-test.sh a"
    Running with argument a
    Run "sh ./shell-test.sh b"
    Running with argument b
    Run "sh ./shell-test.sh c"
    Running with argument c
    Run "sh ./shell-test.sh d"
    Running with argument d
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月18日
  • 已采纳回答 3月10日
  • 创建了问题 3月10日