首页 > 技术文章 > Shell学习日记

Jims2016 2016-10-19 10:06 原文

if语句的使用

if语句的的格式:   
    if 【 expression 】    expression 和方括号([ ])之间必须有空格,否则会有语法错误。
    then 
       statments
    fi

或者:
   if 【 expression 】
   then 
       statments
   else 
       statment
   fi

多条分支结构

或者:
 if 【 expression 】    
 then
    statments
 elif 【 expression 】    注意用的是elif
 then
    statments
  elif 【 expression 】
  then
     statments
 else
     statments
a=12
b=13
echo "a的值为:${a}"
echo "b的值为:${b}"
if [ $a -gt $b ]    #-gt代表大于 -lt代表小于  -ne不等于  -eq等于
then
   echo "a的值比b大"
else
   echo "a的值比b小"
fi

 

 

 

 

 While循环:

 until循环:

 

Shell日期格式:

修改日期格式:

 

cat标名行号

cat  -n  文件名

cat忽略空行标明行号

cat -b   文件名

 

Shell修改时区

 Linux修改系统时区

或者在配置文件/etc/profile下添加如下代码:

最后source /etc/profile

 let和expr运算指令

    关于整数变量计算,有如下几种:【+ 、-  、*  、/ 、%】,他们的意思和字面意思相同。

整数运算一般通过let和expr这两个指令来实现,如对变量x加1可以写作:

     

let "x=$x+1"
#或者
x=`expr $x + 1`

 

在比较操作上,整数变量和字符串变量各不相同,详见下表:

对应的操作

整数操作

字符串操作

相同

-eq

=

不同

-ne

!=

大于

-gt

小于

-lt

大于或等于

-ge

 

小于或等于

-le

 

为空

 

-z

不为空

 

-n

比如:

 比较字符串a和b是否相等就写作: 

if [ $a = $b ]

 判断字符串a是否为空就写作:

if [  -z $a ]

 判断整数变量a是否大于b就写作:

if [ $a -gt $b ]

BASH中用于判断文件属性的操作符:

运算符

含义( 满足下面要求时返回 TRUE )

-e file

文件 file 已经存在

-f file

文件 file 是普通文件

-s file

文件 file 大小不为零

-d file

文件 file 是一个目录

-r file

文件 file 对当前用户可以读取

-w file

文件 file 对当前用户可以写入

-x file

文件 file 对当前用户可以执行

-g file

文件 file 的 GID 标志被设置

-u file

文件 file 的 UID 标志被设置

-O file

文件 file 是属于当前用户的

-G file

文件 file 的组 ID 和当前用户相同

file1 -nt file2

文件 file1 比 file2 更新

file1 -ot file2

文件 file1 比 file2 更老

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

推荐阅读