Echo  输出变量

-e 启用反斜杠
\t 制表符
\n 换行
\r 回车
\c 不换行
#echo –e “\033[31m test \033[0m”
 
========================
判断式
字符串比较
=
!=
<
>
-n 非空 长度大于0
-z 空 为0
#[ -z $A ]
========================
整数比较
-gt 大于
-lt 小于
-ge 大于等于
-lt 小于等于
-ne 不等
-eq 等于
 
 
#test 8-gt 9
#[ 8 –gt 9 ]
#echo $?
~~~~~~~~~~~~~~~~~~~~~~
比较大小
#!/bin/bash
Read –p “please input two num:” A B
[$A –ge $B]&&echo “the max is $A”||
Echo “the max is $B”
------------
#!/bin/bash
Read –p “please input two num:” A B
if[ $A –ge $B ]
then echo "the max num is $A"
else 
echo "the max num is $B"
fi
==========================
文件属性的检查
-b 设备文件
-c 字符文件
-d 目录文件
-e 存在
-f 一般文件
-g sgid 
-L 符合连接
-r 可读
-s 非空
-u suid
-w 可写
-x 可执行
~~~~~~~~~~~~~~~~
File1 –nt file2 新
File1 –ot file2 旧
# [ -e rr.test ] 是否存在 rr.test
# [ -f rr.test ] 是否是文件
# [ ! –s rr.test ] 是否是空的
 
~~~~~~~~~~~~~~~~~~~~~~
#!/bin/bash
If [ ! –s $I ]
Set –x   //打开调试开关,会显示详细的执行过程
Then “file $I is null”
Else 
Echo “file $I is not null “
Fi
~~~~~~~~~~~~~~~~~~~~~~~~
#!/bin/bash
Echo “please input a file name :”
Read F
Until [ $F = “q” ];do
If [ ! –s $F ]
Then 
Echo “file $F is null”
Else 
Echo “file $F is not null”
Fi
Read –p “please input a file name :”F
Done 
~~~~~~~~~~~~~~~~~~~~
判断文件属性
#!/bin/bash
read -p "please input a directory:" DIR
for I in `ls $DIR`;do
if[-f $DIR/$I]
then
echo -e "\033[31m $I \033[0m is a file;
the size is\t\t `du -sh $DIR/$I |awk '{print}'`"
else
echo -e "\033[31m $I \033[0m is not a file;the size is \t\t 
 
`du -sh $DIR/$I |awk '{print}'`"
fi
done
 
第一列显示大小
#du –sh * //对一个目录计算和并按易读方式显示 (h是易读,s对目录计算总和)
#du *   显示大小和文件名两列
~~~~~~~~~~~~~~~~~~~~~~~~~