Linux 下的shell脚本编写

Shell脚本编写

Shell脚本不需要编译就可以运行

首先建立一个格式为.sh的文件,打开它。

echo命令的功能是在屏幕上显示一段文字。Echo “字符”功能与C语言中的printf()一样

脚本写好之后运行时权限不够要,chmod +x test.sh。

文件格式:

#!/bin/bash

# 注释

命令…

第一行中的符号“#!”用来指定解释执行该脚本文件的Shell程序。如果脚本文件中缺少该行,在执行过程中,会报出错误信息。除了第一行外,所有以“#”字符开头的行都是注释行,如果一行未完成,可以在行尾加上“\”字符,表示与下一行合并为一行。

特殊字符:由双引括起来的字符,除$、`(反引号)和\保留其特殊功能外,其余全为普通字符号

$用于变量的引用

变量的定义引用和清除:

    STR=“Hello world”              #对变量STR进行赋值

    echo $STR或echo ${STR}          #用$对其进行引用

unset STR                        #清除STR变量

\为转义字符,使用-e进行解析,如:echo -e "a\nd"   //  \n自动换行

另外,在某个字符前面利用反斜杠(\)能够阻止shell把后面的字符解释为特殊字符。

单引号内部不能使用$、`(反引号)和\,都作为普通字符对待。

常用命令:

echo ${#STR}                                    #计算长度(字母个数)

echo ${STR:1:3}                                 #显示第2,3,4个字符

echo “`expr index “$STR” 23`”              #在变量STR中23 谁先出现 显示谁位置

 

数组:

array1=(0 1 2 3 4)                            #3种定义赋值数组(圆括号)

echo ${array1[0]}                                     #显示数组值

echo ${#array1[@]}或echo ${#array1[*]}               #计算数组长度

算数运算:

c=`expr $a + $b`                           #.sh中的加减乘除

c=`expr $a \* $b`                          #.sh中的乘法

数值比较:

-eq:两个数相等;(=)

-ne:两个数不相等;(!=)

-gt:第一个数大于第二个数;(>)

-lt:第一个数小于第二个数;(<)

-le:第一个数小于等于第二个数;(<=)

-ge:第一个数大于等于第二个数。(>=)

字符串比较;

==:两个字符串相等;

!=:两个字符串不等;

-z:字符串为空;

-n:字符串不为空。

结构控制语句

分支:if 条件1

     then  

            命令1

     elif条件2

     then  

            命令2

     else  

            命令3

     fi

注意:if语句以它的反写fi结尾。如果条件1成立,则执行then后面的命令1;如果条件1不成立,但条件2成立,则执行命令2;如果两个条件都不成立,则执行命令3。

循环: for 变量名 in [列表]

          do

              命令1  命令2  …

     done

     在for循环中,使用变量名来遍历列表中所有取值,当变量值在列表中时,即执行一次所有命令。

       

while 条件

          do  

              命令1  命令2  ...

     done

     当条件成立时,do和done之间的命令才会被执行,执行完成后重新测试条件,如果不成立则终止循环。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值