Shell学习之shell语法

学习源

shell脚本

shell脚本就是将完成一个任务的所有的命令按照执行的先后顺序,自上而下写入到一个文本文件中,然后给予执行权限。

如何书写一个shell脚本

shell脚本的命名:

  1. 名字要有意义;
  2. 不超过30个字节
  3. .sh结尾
  4. 名字不要太长
  5. 区分大小写

shell脚本格式:

shell脚本开头必须指定脚本运行环境 以 #!这个特殊符号组合来组成。
如:#!/bin/bash指定该脚本是运行解析由/bin/bash来完成的;

注释

 shell脚本中,最好加入脚本说明字段
#!/bin/bash
#Author: hardy9sap
#Created Time: 2019/08/27 12:27
#Script Description: first shell study script

运行shell脚本

(1)给予执行权限
    a) . filename
    b) ./filename

(2)解释器执行(无需权限)
    a) bash filename
        bash -x filename DEBUG模式
    b) sh filename

shell中的特殊符号

   ~:                家目录    # cd ~ 代表进入用户家目录
    !:                执行历史命令   !! 执行上一条命令
    $:                变量中取内容符
    + - * \ %:       对应数学运算  加 减 乘 除 取余数  
    &:                后台执行
    *:                星号是shell中的通配符  匹配所有
    ?:                问号是shell中的通配符  匹配除回车以外的一个字符
    ;:               分号可以在shell中一行执行多个命令,命令之间用分号分割
    |:               管道符 上一个命令的输出作为下一个命令的输入   cat filename | grep "abc"
    \:                转义字符
    ``:               反引号 命令中执行命令    echo "today is `date +%F`"
    ' ':              单引号,脚本中字符串要用单引号引起来,但是不同于双引号的是,单引号不解释变量
    " ":              双引号,脚本中出现的字符串可以用双引号引起来

shell中的管道运用

|  管道符在shell中使用是最多的,很多组合命令都需要通过组合命令来完成输出。管道符其实就是下一个命令对上一个命令的输出做处理。

shell重定向

>   重定向输入  覆盖原数据
>>  重定向追加输入,在原数据的末尾添加
<   重定向输出     wc -l < /etc/passwd
<<  重定向追加输出  fdisk /dev/sdb <

shell数学运算

expr 命令:只能做整数运算,格式比较古板,注意空格
         [root@baism ~]# expr 1 + 1
         2
         [root@baism ~]# expr 5 - 2
         3
         [root@baism ~]# expr 5 \* 2  #注意*出现应该转义,否则认为是通配符
         10
         [root@baism ~]# expr 5 / 2
         2
         [root@baism ~]# expr 5 % 2
         1
     使用bc计算器处理浮点运算,scale=2代表小数点保留两位
         [root@baism ~]# echo "scale=2;3+100"|bc
         103
         [root@baism ~]# echo "scale=2;100-3"|bc
         97
         [root@baism ~]# echo "scale=2;100/3"|bc
         33.33
         [root@baism ~]# echo "scale=2;100*3"|bc
         300
     双小圆括号运算,在shell中(( ))也可以用来做数学运算
         [root@baism ~]# echo $(( 100+3))
         103
         [root@baism ~]# echo $(( 100-3)) 
         97
         [root@baism ~]# echo $(( 100%3))
         1
         [root@baism ~]# echo $(( 100*3))
         300
         [root@baism ~]# echo $(( 100/3))
         33
         [root@baism ~]# echo $(( 100**3))     #开方运算
         1000000

退出脚本

 exit NUM 退出脚本,释放系统资源,NUM代表一个整数[0, 255],代表返回值。
 一般0表示命令执行正常,非0表示命令执行错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值