linux中編寫在多台機器上同時執行一條命令的腳本


我們經常需要在集群中使用jps命令查看進程狀態,而又懶得去每一台機器上分別執行jps命令,這時候就需要一個腳本文件來幫我們做這樣的事情!

編寫一個名為xcall的腳本文件吧!

#!/bin/bash
#在集群的所有機器上批量執行同一條命令
if(($#==0))
then
	echo 請輸入您要操作的命令!
	exit
fi

echo 要執行的命令是$*

#循環執行此命令
for((i=101;i<=103;i++))
do
	echo ---------------------hadoop$i-----------------
	ssh hadoop$i $*
done

注意點:
$#表示輸入的參數個數,如果沒有輸入命令則退出腳本。
由於輸入的命令可能會攜帶參數,比如 ls -al,所以這里用到取變量的是$*,把輸入的命令包括參數都當作整體的變量去執行。
最后別忘了把xcall文件放進家目錄下的bin目錄,如果沒有就新建一個bin目錄,因為這目錄是在全局環境變量中,放進去后無論在哪個目錄下都可以執行這個腳本文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM