f=/tmp/lem123456 if [ -x $f ] then echo $f exe fi [root@linux-5 shell]# sh 02.sh /tmp/lem123456 exe 1. 2. 3. 4. 5. 6. 7. 8. 9. 注:判断是否可读可写可执行,判断的是当前执行shell脚本的用户的权限 判断语句与逻辑符号结合 并且&& [ -f $f ] && rm -f $f //前一条命令...
那么[ -f $f ] && rm -f $f这一行命令等同于下面这四行命令 if [ -f $f ] then rm -f $f fi [ -f $f ] || touchf表示如果f表示如果f文件执行不成功的时候,才执行后面的touch $f命令 [ -f $f ] || touch $f 等同于下面这四行 if [ ! -f $f ] then touch $f fi 三、if特殊...
if [ "$dir_count" -gt 10 ];then rm -f $(ls -tr | head -1) fi done 5、从 test.log 中截取当天的所有 gc 信息日志,并统计 gc 时间的平均值和时长最长的时间。 #!/bin/bash awk '{print $2}' hive-server2.log | tr -d ':' | awk '{sum+=$1} END {print "avg: ", sum/NR...
在交互模式下的escape 字元,有几个作用;放在指令前,有取消 aliases的作用;放在特殊符号前,则该特殊符号的作用消失;放在指令的最末端,表示指令连接下一行。 # type rmrm is aliased to `rm -i'# \\rm ./*.log 上例,我在 rm 指令前加上 escape 字元,作用是暂时取消别名的功能,将 rm 指令还原。 # bk...
rm -f /home/efina/backup/sqlbak/*.gz gzip /home/efina/backup/sqlbak/${d}.sql 前面五行命令比较简单,就是文件名格式,想要备份的日志文件名,统一为catalina.out20190321102516(日志名+当日时间)的格式,随后用cp命令备份! 命令演示.png 后面6行,就是简单的压缩和删除,最后几行,是备份数据库的数据命令。
rm-f$temp22> /dev/null 这段脚本用while循环和一个真值常量创建了个无限循环来显示菜单对话。这意味着,执行完每个函数之后,脚本都会返回继续显示菜单。 由于menu对话包含了一个Cancel按钮,脚本会检查dialog命令的退出状态码,以防用户按下Cancel按钮退出。因为它是在while循环中,所以退出该菜单就跟用break命令跳出whil...
3. if [ -f "$FAIL_FILE" ] 4. then 5. rm -rf "$FAIL_FILE" 6. echo `date`" FILE IS EXISTS: "$FAIL_FILE #`命令`可以将命令执行的结果以字符串的形式返回 7. fi 5、找出文件中的相关行 Shell代码 1. 2. #!/bin/bash 3. cat 文件 |grep -a "关键词" >> result.log ...
set -f echo "Begin to run" rm -rf *.md echo "Done" 此时*.md并不会匹配所有文件名后缀为.md的文件,而是文件名只能是"*.md"。这样的好处在于避免错误操作一些后缀名相同的文件,此时可以通过执行需要操作的文件列表来替代。 此功能也可以通过内置命令shopt设置shopt -s failglob来实现,同样的是不对通配符...
dialog --msgbox "Sorry, invalid selection" 10 30 esac done rm -f $temp 2> /dev/null rm -f $temp 2> /dev/null 使用while循环加一个真值常量创建了一个无限循环来显示菜单对话。当执行完每个函数后,脚本会返回继续显示菜单。 脚本使用了mktemp命令创建两个临时文件来保存dialog命令的数据。
删除。计算加1.你自己写的时间匹配有问题好像。++++++++++++++++++++ tianshu=1 m=0 sj=`date +%Y%m%d -d -${tianshu}day`for i in `ls *.log.*`do echo $i |grep ”$sj“ && rm -f $i if [ $? = 0 ];then m++ fi done echo $m ...