centos执行-查看,复制,删除-命令的脚本

时间:2021-09-11 15:33:50

=======================================================================================================================================

编写脚本准备工作

1.熟悉centos中的shell脚本命令:$?,$#,$n,$0,$@,shift,#

2.学习centos基本命令,为shell做准备工作

a>获取文件名                   echo 当前文件名:`basename 文件`

b>获取文件目录              echo 当前路径:`dirname 文件`

$?                 //命令的返回值存储变量,0:成功 1:失败。

$#                 //参数个数

$1                 //第几个参数

$0                 //当前脚本(命令)名称

$@                //取出所有参数

shift             //参数左移

----------xcall.sh

#!/bin/bash

cmd=$@
echo 当前命令:$cmd

for (( i = 200 ; i <= 203 ; i = i+1 )) ; do

echo ===========正在执行s$i主机上的命令==========

ssh s$i $cmd

done ;

-----------copy.sh

#!/bin/bash

#获取传入的参数
cmd=$1

echo 传入的参数$cmd

#获取文件路径
filepath=`dirname $cmd`

echo 文件路径为 $filepath

#获取文件名称
filename=`basename $cmd`
echo 文件名称为 $filename

#获取绝对路径
full=`pwd -P`
echo 绝对路径为 $full

#当前用户名
user=`whoami`

for (( i = 201 ; i <= 203 ; i = i + 1 )) ; do

#echo =====rsync -lr $full/$filename $user@s$i:$full=====

echo ===== 正在执行主机s$i的复制 =====

#echo rsync -lrv /usr/local/bin/jps $user@s$i:/usr/local/bin

#rsync -lrv $cmd $user@s$i:/$filepath

rsync -lrv $full/$filename $user@s$i:/$full

done;

♂文件路径和绝对路径好像一样哎(ˉ▽ ̄~) 切~~

-----------dele.sh

#!/bin/bash

cmd=$@
echo 传入的参数: $cmd

filepath=`dirname $cmd`
echo 目录名: $filepath

filename=`basename $cmd`
echo 文件名: $filename

for (( i = 201 ; i <= 203 ; i = i + 1 )) ; do

echo ====正在执行主机s$i的删除====
ssh s$i rm -rvf $cmd

done;