美文网首页
Linux之 Sell入门

Linux之 Sell入门

作者: 测试员 | 来源:发表于2019-08-20 14:06 被阅读0次

编写规范:

代码规范:

  #!/bin/bash          [制定告知系统当前这个脚本要使用的shell解释器]

命名规范:

  文件名.sh         .sh是;Linux系统bash shell的默认后缀

使用流程:

创建.sh文件 touch/vim
编写shall代码
执行hell脚本 脚本必须有执行权限

案例1:创建一个shell脚本程序
输出命令:#echo “HelloWorld”

注意:输出的内容如果是包含字母和符号(不包含变量),则需要引号包括气啦,如果是纯数字可以包也可以不包。

image.png

1.1变量的定义与使用

定义: class_name=“BianLang”
使用:echo $class_name

变量名的规范:

变量名后面的等号不能有空格;
命名只能使用数字、字母、下划线,不能以数字开头。
中间不能有空格,可以用下划线代替;
不能用标点符号
不能使用关键字
用双引号可以识别变量,单引号不能识别变量

三个引号的问题:

单引号不能被转义
被单引号套住的指令只能原样输出,不会被解析
被双引号套住的指令可以输出结果
反引号套住的是 指令的结果作为变量 比如:dt=·‘date + %F %T’·

1.2只读变量

语法:readonly 变量名

image.png
会有问题 因为第三行做了限制(包括第一行)

1.3接收用户输入(重点)

语法:
read -p 提示信息 变量名

2.1if条件判断语句

单行写法:

if [condition];then command;fi 【单行写法】

一般写法:

2.1.1.一个条件

if 条件【符合条件】
than
结果【要执行的命令】
fi

2.1.2.

    if condition
    then
    command1
    command2
    else
    command3
    fi

2.1.3.

    if condition1
    then
    command1
    
    elif condition2
    then
    command2
    
    else
    command3
            fi

3算数

在sell中,运算符和其他编程脚本一样,常见的有算数运算符、关系运算符、逻辑运算符、字符串运算符、文件测试运算符等。

3.1运算符

算数运算符

#!/bin/bash
a=10
b=20
echo 'a + b ='expr $a + $b【加】
#30
echo 'a - b ='expr $a - $b【减】
#-10
echo 'a * b ='expr $a \* $b【乘】
#200
echo 'a / b ='expr $a / $b【除】
#0
echo 'a % b ='expr $a % $b【取余】
#10
echo 'a == b 'expr $a == $b【判断等于】
#0 false
echo 'a != b 'expr $a != $b【判断不等于】
#1 true

3.2关系运算符

-eq equal 左右相等返回true
-ne not equal 左右不等返回true
-gt great than 左边数大返回true
-lt less than 左边数小返回true
-ge great than or equal 左边数大于等于 返回true
-le less than or equal 左边数小于等于 返回true

3.3逻辑运算符

! 非运算
-o 或运算
-a 与运算

3.4字符串运算符

= 判断两个字符串是否相等
!= 判断两个字符串是否不等
-z 检测字符串长度是否为零
-n 检测字符串长度是否不为零
str 检测字符串是否为空

3.5文件测试运算符

-b $file
-c $file
-d $file 检测文件是否目录
-f $file 检测文件是否普通文件
-g $file
-k $file
-p $file
-u $file
-r $file 检测文件是否可读
-w $file 检测文件是否可写
-x $file 检测文件是否可执行
-s $file检测文件里是否有内容
-e $file检测文件(包括目录)是否存在

3.6附带参数

$0:本文件
$1: 第一个参数
$2: 第二个参数
$3: ………………….类推

相关文章

网友评论

      本文标题:Linux之 Sell入门

      本文链接:https://www.haomeiwen.com/subject/arqpsctx.html