一些shell脚本

博客主要围绕判断处理展开,包括判断软件是否安装,若已安装则无需再安装;还会检测文件是否发生变化,有变化就进行同步。此外,涉及命令行写入内容到文件,以及用shell去掉字符串最后一个斜杠等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

判断处理

判断软件是否已经安装,如果已经安装,则就不用安装,没有安装则就需要安装

rpm -qa |grep expect >>/dev/null  

查询一些是否已经安装,不输出内容

if [ $? -eq 1 ] ;then  

进行判断,$?这个是判断上一行的执行结果,如果执行成功,有数据则返回0,没有数据则返回1

rpm -qa |grep expect >>/dev/null
if [ $? -eq 1 ] ;then
    yum -y install expect
else
    echo "expect is enabled"
fi

检测文件是否发生变化,有变化就同步


#!/bin/sh
#set -x
src="/data/test/"
des_ip="192.168.1.232" 
#function
inotify_fun ()
{
/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y-%H:%M' --format '%T %w%f' -e modify,delete,create,move $1|while read time file
do
	for ip in $des_ip
do
echo "`date +%Y%m%d-%T`: rsync -avzq --delete --partial --progress $1 $ip:`dirname $1`"
rsync -avzq --delete --partial --progress $1 $ip:`dirname $1`     #将当下目录不需要同步的文件写入exclude_file
echo
done
done
}
#main
for a in $src
do
inotify_fun $a &
done


命令行,写入内容到文件

sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://hub-mirror.c.163.com",
        "https://mirror.ccs.tencentyun.com",
        "https://reg-mirror.qiniu.co"
    ]
}
EOF

作者:飘哩个颖
链接:https://juejin.im/post/5dde57e4f265da05d965492c
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

shell 去掉字符串最后一个斜杠(如果最后一个字符是斜杠)

[root@localhost ~]# stra=/home/zz
[root@localhost ~]# strb=/home/zz/
[root@localhost ~]# echo ${stra%*/}
/home/zz
[root@localhost ~]# echo ${strb%*/}
/home/zz
[root@localhost ~]#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值