说明
在Linux中我们可以编写一些脚本,并将其加入命令中,从而像使用ls、touch等命令一样使用我们自己的命令,这里只介绍我使用的方法,实际上还有其他方法。
第一步 在环境变量中的文件夹下创建脚本文件
- 在/usr/local/bin 文件夹下创建创建xcall文件
touch xcall
第二步 编辑xcall文件,在其中写入脚本
vim xcall
#!/bin/sh
pcount=$#
if((pcount==0));then
echo no args...;
exit;
fi
echo ==================master==================
$@
for((host=2; host<=3; host++)); do
echo ==================CentOS7_$host==================
ssh CentOS7_$host $@
done
在这里CentOS7_是主机名前缀,host是后缀,脚本具体内容网上有很多,本篇主要说明一下各种注意事项。
编写完毕后为该文件添加权限:
chmod 777 xcall
尝试执行:
xcall jps
该命令可以查看集群中所有机器的java线程,此时可能会遇到各种问题:
bash:xcall:找不到该命令
首先执行一下命令查看存放自己命令的文件夹是否在环境变量中:
echo $PATH
如果在其中找不到放置命令的文件夹(我这里是/usr/local/bin),那么需要在环境变量中进行编辑:
vim /etc/profile
在文件最后添加:
export PATH=/usr/local/bin:$PATH
然后执行
source /etc/profile
使其生效,然后再次尝试。
如果还是不行
查看java是否生效
我的java在更换用户的时候经常会失效,然后就会导致找不到jps命令,每次都需要执行:
source /etc/profile
java环境变量才会再次生效,如果你也有这种情况,可以执行以下操作:
vim ~/.bashrc
在该文件中添加
source /etc/profile
具体如下:
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
#添加这一行
source /etc/profile
fi
~
然后执行以下命令使更改生效
souce ~/.bashrc