shell脚本判断大小
① 如何使得shell脚本的if语法来判断一个文本文件的大小 例如 if [ ] ;then 如果这
#!/bin/sh
a=` -s yourfile.txt | awk '{print $1}'`
if [ $a -eq 1024 ]
then
echo "OK"
else
echo "ERROR"
fi
② shell中怎么比较两个字符串的大小
可以借助awk 来判断,awk中的两个变量比较大小就是按照字符串的字典序比较的
首先我们定义一下比较大小的结果表示数码,比如大于返回1,等于返回0,小于返回2
则可以这样写:
if[$(echo$str1$str2|awk'$1>$2{print1}$1==$2{print0}$1<$2{print2}')-eq1]
then
echo$str1大于$str2
elseif[$(echo$str1$str2|awk'$1>$2{print1}$1==$2{print0}$1<$2{print2}')-eq0]
then
echo$str1等于$str2
else
echo$str1小于$str2
fi
③ linux shell脚本判断文件大小,超过一定大小发送邮件报警
比如判断文件大于1M
if [ `ls -s file|awk '{print $1}'` -gt 1024 ];then
send email
fi
④ shell脚本 比较大小
a=
b=
c=
if[$alt$b];then
if[$alt$c];then
if[$blt$c];then
echo"c>b>a"
else
echo"b>c>a"
else
echo"b>a>c"
elseif[$alt$c];then
echo"c>a>b"
else
if[$blt$c];then
echo"a>c>b"
else
echo"a>b>c"
刚刚写了个简单的,把a、b、c自己赋值就可以了
⑤ shell中判断文件的大小问题
awk中$1表示空格或TAB分隔出的第一个字段,print即打印输出到屏幕。
-k logfile 出来的结果就是如下形式:
文件大小 文件名
awk通过 print $1 获得文件大小(第一个字段)
print $2 就是打印文件名到屏幕
⑥ shell判断文件大小,并重定向
#!/bin/bash
#这里写文件名,全路径
filename = ''
while true
do
if [ `ls -l $filename|awk '{print $5}'` -gt 2147483648 ]; then
#这里是清空文件,你要怎么处理就直接改下一行
cat /dev/null > $filename
fi
sleep 1
done
⑦ linux shell 如何比较两个整数的大小
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
(7)shell脚本判断大小扩展阅读:
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
shell命令
命令行c
用户登录到Linux系统时,可以看到一个shell提示符,标识了命令行的开始。用户可以在提示符后面输入任何命令及参数。例如:
$ date
二 11 23 01:34:58 CST 1999
$
用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统。命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如下:
$ Command Option Arguments
⑧ 使用shell脚本,比较四个数大小
您好,&&
要放到括号外面的(无论方括号还是圆括号):
if
((
$DEV_SIZE
>=
${EXT_LIMIT[0]}
))
&&
((
$DEV_SIZE
<=
${EXT_LIMIT[1]}
));
then
EXT_DISK_DEV=$DEV_PATH
elif
((
$DEV_SIZE
>=
${FAT_LIMIT[0]}
))
&&
((
$DEV_SIZE
<=
${FAT_LIMIT[1]}
));
then
FAT_DISK_DEV=$DEV_PATH
fi
因为
DEV_PATH
的值每次循环的时候都在变化啊,那就是说最后给EXT_DISK_DEV赋值的时候DEV_PATH
就是空。
这个你可以自己调试的,比如看看IF里最后一次输出的$EXT_DISK_DEV的值是多少。
⑨ linux的shell 脚本里怎么用if 判断文件大小呀
需要几个工具 基本上思路是 用 配合awk取得文件大小 ,然后if判断
伪代码如下
s=` -k logfile|awk '{print $1}'`
if [ $s -gt 1024000000 ]
then
停止oracle监听进程
rm -rf logfile && touch logfile
启动oracle监听进程
else
continue
fi
⑩ Shell 脚本 比较数字大小
你的写下正确的,以下的也行
if [[ $DEV_SIZE -ge ${EXT_LIMIT[0]} && $DEV_SIZE -le ${EXT_LIMIT[1]} ]];
if [ $DEV_SIZE -ge ${EXT_LIMIT[0]} -a $DEV_SIZE -le ${EXT_LIMIT[1]} ];
如果使用[ ]或者[[ ]]进行整数测试的,里面的比较运算符要使用-eq或-le或-ge等符号,在((里面才可以用>=和<=比较运算,而且[[ 里面逻辑运算用&&和||, [ 里面逻辑运算用-a和-o,((也可以用&&和||