用参数替换bash脚本中的命令部分

时间:2017-02-01 20:08:53

标签: linux bash shell command-line arguments

我是编程的新手,特别是在bash中。

我经常运行相同的长命令,每天填充许多参数,但使用不同的文件名和另一个参数,字符串的大部分保持不变。 Clonezilla服务器就是这种情况。

我希望能够运行一个脚本,该脚本只询问我想要更改的部分,然后将这些值替换为原始字符串并将其传递给shell。

例如:

我有一组文件名:a.img b.img c.img

我运行的命令:drbl-ocs -b -g auto -e1 auto -e2 -r -x -j2 -sc0 -p poweroff --clients-to-wait <number value here> -l en_US.UTF-8 startdisk multicast_restore <name of file> nvme0n1

我的目标是能够输入:sudo sh myscript.sh arga argb

其中“arga”是替换<number value here>的数字,而“argb”替换上述字符串中的<name of file>

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

脚本的命令行参数可以在位置参数中找到,参数的名称是正整数。

#!/bin/sh

drbl-ocs -b -g auto -e1 auto -e2 -r -x -j2 -sc0 \
         -p poweroff --clients-to-wait "$1" -l en_US.UTF-8 \
         startdisk multicast_restore "$2" nvme0n1