我想創建一個藍圖出這個shell腳本來安裝不同系統上的不同rpms並匹配系統類型。在這個例子中,我有2個名爲centos1和suse1的系統。每個系統都有一個相應的資源ID存儲在變量「ID」中,並且應該運行匹配每個命令的命令。所有系統名稱都從名爲vm.txt的文本文件中讀取。如果其他條件多次安裝
~]# cat vm.txt
centos1
suse1
~]# ./myscript.sh vm.txt
#!/bin/bash
for node in `cat $1`
do
# id is the resource id for each system listed in vm.txt
id=`./test.sh get resource id --platform=$node`
if [ $node == centos1 ]
then
echo `./install.sh resource $id centos1-httpd`
echo `./install.sh resource $id centos1-gcc`
elif [ $node == suse1 ]
then
echo `./install.sh resource $id suse1-httpd`
echo `./install.sh resource $id suse1-gcc`
else
echo "No packages found"
fi
done
未來我將不得不將幾百個系統添加到腳本文件和安裝標準中。我不確定在這個腳本中使用if-else條件會導致更多的代碼行導致以後難以管理。有沒有更好的方法來處理這個問題?我應該使用與if-else不同的條件來完成此操作嗎? PS:對於這個基本問題抱歉。我仍然試圖讓我的實踐成爲腳本。
'對於'cat $ 1''中的節點':不要這樣做。 [請參閱此鏈接瞭解更多信息](http://mywiki.wooledge.org/DontReadLinesWithFor)。另外,去抱怨給那些給你可怕信息的傢伙或網站。做到這一點。認真。 –