我是编程的新手,特别是在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>
。
感谢您的帮助!
答案 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