Linux(CentOS7)中自定义命令 (在编写xsync和xcall命令时遇到的问题解决)

说明

在Linux中我们可以编写一些脚本,并将其加入命令中,从而像使用ls、touch等命令一样使用我们自己的命令,这里只介绍我使用的方法,实际上还有其他方法。

第一步 在环境变量中的文件夹下创建脚本文件

  1. 在/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
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值