bash脚本初试
作者:互联网
这个脚本是我在上面的视频(https://www.bilibili.com/video/BV1Qp4y1n7EN?p=28)中看到的,但是不符合我的虚拟机实际情况,我耗费了自己的晚上时间开始学习和编写这个脚本,终于调通了,放这里以备以后看。也供大家用。
#!/bin/bash
# 1 判断参数个数
if [ $# -lt 1 ]
then
echo Not enough Arguments!
exit;
fi
# 2 遍历集群所有机器
for host in node2 node3
do
echo ================================= $host ================================
# 3 遍历所有目录,挨个发送
for file in $@
do
# 4 判断文件是否存在
# echo the args is $file!!!
if [ -e $file ]
then
# 5 获取父目录 这里的等号需要有空格!
if [ $host = node2 ];
then
# pdir=/home/peter/Documents
# echo node is node 2!
pdir=$(cd -P $(dirname $file); pwd)
len=${#pdir} # 可以返回字符的长度
pdir=${pdir:0:6}tim${pdir:11:$len} # 这里的等号不能有空格,哎,,,, 这个命令是字符的拼接
echo $pdir
else
if [ $host = node3 ]
then
# echo node is node 3!
pdir=$(cd -P $(dirname $file); pwd)
len=${#pdir}
pdir=${pdir:0:6}alex${pdir:11:$len}
else
echo node is error!
fi
echo $pdir
fi
# 6 获取当前文件的名称
# fname=$(basename $file)
# ssh $host "mkdir -p $pdir"
# rsync -av $pdir/$filename $host:$pdir
else
echo $file does not exits!!
fi
done
标签:初试,脚本,node,pdir,len,echo,host,file,bash 来源: https://blog.csdn.net/peterAdolph/article/details/118004275