无权限

Derrick博客站

【Shell脚本】基本语法

一、Shell脚本入门

1、脚本格式

  脚本以#!/bin/bash开头(指定解析器)。

2、脚本的常见执行方式

  • 方法一:利用bash或sh+脚本的相对路径或绝对路径(不需要赋予脚本x权限)

  • 方法二:采用输入脚本的相对路径或绝对路径(需要赋予脚本x权限)

二、变量

1、自定义变量

  • (1)基本语法

    • 定义变量:变量名=变量值,注意:等号前后不能有空格

    • 撤销变量:unset 变量名

    • 声明静态变量:readonly 变量。(不能修改,也不能unset)

 

  • (2)变量定义规则

    • 在bash中,变量默认类型都是字符串

    • 变量值如果有空格要用单引号或双引号


  • 案例1:定义变量

    derrick@ubuntu-derrick:~$ A=5
    derrick@ubuntu-derrick:~$ echo $A
    5

  • 案例2:撤销变量

    derrick@ubuntu-derrick:~$ unset A
    derrick@ubuntu-derrick:~$ echo $A
    

  • 案例3:定义静态变量

    derrick@ubuntu-derrick:~$ readonly B=2
    derrick@ubuntu-derrick:~$ echo $B
    2
    derrick@ubuntu-derrick:~$ B=20
    -bash: B: 只读变量

  • 案例4:定义有空格的变量

    derrick@ubuntu-derrick:~$ C="Hello World"
    derrick@ubuntu-derrick:~$ echo $C
    Hello World

2、特殊变量

  • (1)$?

    • 功能描述:用于最后一次执行命令的返回状态。如果是True返回0,如果是False返回非0(具体是返回哪个数,由命令自己决定)

    • 案例1:返回True的情况

      derrick@ubuntu-derrick:~/桌面/shell$ sh helloworld1.sh 
      new!
      derrick@ubuntu-derrick:~/桌面/shell$ echo $?
      0

    • 案例2:返回False的情况

      derrick@ubuntu-derrick:~/桌面/shell$ sh helloworld5.sh 
      sh: 0: cannot open helloworld5.sh: No such file
      derrick@ubuntu-derrick:~/桌面/shell$ echo $?
      2

三、算术运算符

  • 基本语法$[运算式]$((运算式))

    • 案例:

      derrick@ubuntu-derrick:~$ S=$[(25+4)*8]
      derrick@ubuntu-derrick:~$ echo $S
      232

 

四、条件判断

1、基本语法

  • (1)写法1:test condition

  • (2)写法2:[ condition ](condition前后有空格)

    • 案例:写法1

      derrick@ubuntu-derrick:~/桌面$ A=10
      derrick@ubuntu-derrick:~/桌面$ test $A
      derrick@ubuntu-derrick:~/桌面$ echo $?
      0

    • 案例:写法2

      derrick@ubuntu-derrick:~/桌面$ C=300
      derrick@ubuntu-derrick:~/桌面$ [ $C ]
      derrick@ubuntu-derrick:~/桌面$ echo $?
      0

 

(4)判断目录的文件是否存在
(5)多条件判断
A && B:A执行成功才会执行B

true
true
false
false
A
B
返回true
返回fasle

A || B:A执行错误才会执行B

false
false
true
true
A
B
返回false
返回true

案例:多条件判断

derrick@ubuntu-derrick:~/桌面$ test derrick && echo ok || echo notok
ok
derrick@ubuntu-derrick:~/桌面$ test && echo ok || echo notok
notok

 












评论

快捷导航

把好文章收藏到微信

打开微信,扫码查看

关闭

还没有账号?立即注册