linux的shell 脚本里怎么用if 判断文件大小呀?

linux的shell 脚本里怎么用if 判断文件大小呀?,第1张

需要几个工具 基本上思路是 用 du配合awk取得文件大小 ,然后if判断

伪代码如下

s=`du -k logfile|awk '{print $1}'`

if [ $s -gt 1024000000 ]

then

停止oracle监听进程

rm -rf logfile &&touch logfile

启动oracle监听进程

else

continue

fi

.sh">cat test.sh 

#!/bin/sh

FILE=$1

FILE_SIZE=`du $FILE | awk '{print $2}'`

if [ $FILE_SIZE -ge 10485760 ]

then

    cp -p $FILE $FILE-bak

fi

chmod +x test.sh 

./test.sh 1.txt

逐行解释

查看脚本文件test.sh

定义脚本默认用sh执行

将文件路径赋予FILE变量。$1 表示位置变量即下面的1.txt

计算文件大小并赋予FILE_SIZE变量

如果文件大小大于等于10M. 10485760为10M,-ge为大于等于。

if语法关键字

将文件重命名备份

if语法关键字

空行

赋予脚本test.sh可执行权限

执行脚本,输入位置变量1.txt.

linux shell比较两个整数的大小可以采用以下的代码:

#!/bin/sh

max=9

min=8

if [ $max -gt $min ]

then

echo 1

else

echo 0

fi

数字的比较:

-eq 相等(equal)

-ne 不等(not equal)

-gt 大于(greater than)

-lt 小于(less than)

-ge 大于等于 (greater than or equal)

-le 小于等于 (less than or equal)

字符串的比较:

[ $str1 = $str2 ] 等于

[ $str1 != $str2 ] 不等于

[ -z $str ] 空字符串返回true

[ -n $str ] 或者 [ $str ] 非空字符串返回true

扩展资料:

Shell是系统的用户界面,提供了用户与内核进行交互 *** 作的一种接口。它接收用户输入的命令并把它送入内核去执行。

shell命令

命令行c

用户登录到Linux系统时,可以看到一个shell提示符,标识了命令行的开始。用户可以在提示符后面输入任何命令及参数。例如:

$ date

二 11 23 01:34:58 CST 1999

$

用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统。命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如下:

$ Command Option Arguments

参考资料来源:百度百科-Linux Shell


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8462220.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存