天天看點

腳本中利用數組實作對機器的批量控制

腳本中利用數組實作對機器的批量控制

   工作中對線上多台伺服器使用腳本控制,如執行一些指令等。如果在腳本中對每台伺服器都使用一條指令(因為伺服器的ip,使用者名,密碼等可能不同),那麼腳本會變得非常臃腫,且添加或删除伺服器不友善。

   例如遠端連接配接一台伺服器,将本機的檔案備到伺服器上,通常使用指令:

   如果需要備份到100台伺服器上,需要寫100個這樣的語句。

   這裡總結了幾種利用數組實作主機組的定義,在指令中引用數組來實作簡潔操作。

方法1:

數組array中的每一行定義一個主機,明了且友善,可以添加多台伺服器,這個方法最好。

傳回的結果如下:<b></b>

方法2:

這裡定義了4個數組,分别管理密碼,端口,使用者和ip,可以達到目的,但不是很明了,添加或去掉伺服器時要仔細。

傳回結果如下:

方法3:

這裡每個數組定義一個伺服器,直覺,明了。但在引用數組中的元素時出錯,

報錯資訊如下:

${array$i[0]}中不能引用$i,是以這種方法是錯誤的,不知道為什麼數組中的元素名不能用變量表示,希望有知道的朋友講解一下。