我們經常需要在集群中使用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目錄,因為這目錄是在全局環境變量
中,放進去后無論在哪個目錄下都可以執行這個腳本文件