自动脚本

```
#!/bin/bash
SERVERS="host1 host2"
PASSWORD=hadoop
BASE_SERVER=192.168.19.170

auto_ssh_copy_id(){
    expect -c " set timeout -1;
    spawn ssh-copy-id -i ~/.ssh/id_rsa.pub $1;
    expect{
        "(yes/no)" {send -- yes\r;exp_continue;}
        "password:" {send -- $2\r;exp_continue;}
        eof         {exit 0;}

    }";
}
ssh_copy_id_to_all(){
    for SERVER in $SERVERS
    do
        auto_ssh_copy_id $SERVER $PASSWORD
    done
}
ssh_copy_id_to_all
for SERVER in $SERVERS
do
    scp install.sh root@$SERVER:/root
    ssh root@$SERVER /root/install.sh
done

一个例子

#!/bin/bash
BASE_SERVER=192.168.19.170
yum install -y wget

wget $BASE_SERVER/sort/jdk.tar.gz

tar -zxvf jdk.tar.gz -C /user/local

cat >> /etc/profile << EOF
export JAVA_HOME=/usr/local/jdk
export PATH =\$PATH:\$JAVA_HOME/bin/
EOF
#!/bin/sh    
myHadoopPath="/opt/hadoop/"  
myHadoopFile="/opt/hadoop/bin/hadoop"  

#-x 参数判断$myHadoopFile是否存在并且是否具有可执行权限  
if [ ! -x "$myHadoopFile"]; then  
fi  

#-d 参数判断$myHadoopPath是否存在  
if [ ! -d "$myHadoopPath"]; then  
  mkdir "$myPath"  
fi  

#这里的-f参数判断$myHadoopFile是否存在  
if [ ! -f "$myHadoopFile" ]; then  
  touch "$myHadoopFile"  
fi  

#-n是判断一个变量是否是否有值  
if [ ! -n "$Var" ]; then  
  echo "$Var is empty"  
  exit 0  
fi  

#-z是判断一个变量是否为空  
if [ ! -z "$Var" ]

if [ -z $1 ]||[ -z $2 ]||[ -z $3 ]||[ -z $4 ];then
exit -1
fi

#两个变量判断是否相等  
if [ "$var1" = "$var2" ]; then  
  echo '$var1 eq $var2'  
else  
  echo '$var1 not eq $var2'  
fi 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值