Shell学习日记

本文介绍了Shell脚本的基础知识,包括if语句的使用、条件判断、循环结构、日期格式的修改、时区的调整等内容,并详细解释了let和expr运算指令及文件属性判断操作符。

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 更老

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/Jims2016/p/5976179.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值