创建脚本以在linux中使用变量运行多个命令

时间:2017-08-17 06:11:20

标签: linux bash shell

基本上,我试图简化我运行可执行脚本以更新连接到我的服务器的远程设备的过程。最初,我有一些我会更新的设备,但它已达到超过40的程度,并且需要永久地手动更新它们。我想创建一个脚本来使用可执行文件同时更新所有脚本,但我唯一能弄清楚的是如何在脚本中包含一个我可以在命令中输入的变量行,因为version_number必须手动输入。

现在,它看起来像这样:

./updater-app device_number version_number

我一直在做的只是复制和粘贴一个长命令来稍微简化一下这个过程,然而,有40多个设备需要更新,这有点单调乏味,只会让远程设备变得更糟将来更新

./updater-app device1 version20 & ./updater-app device2 version20 & ./updater-app device3 version20 & ....等等。

由于设备编号都保持不变,基本上我只想创建一个shell脚本,允许我同时更新所有这些,但在命令行输入version_number变量,因为它会发生变化每次出现新版本的设备软件时。

1 个答案:

答案 0 :(得分:0)

我猜你可以创建一个循环并逐个运行整个更新脚本。它将并行运行,因为它在后台运行

listOfDevices=("device1" "device2" "device3" ....)
version=$1

for device in "${listOfDevices[@]}"
do
   ./updater-app $device $version &
done