AI智能
改变未来

Shell脚本基本命令


shell脚本

shell脚本是包含一系列命令的文本文件
用于重复性操作–事务批处理–自动化运维–定时任务执行

#!为一个约定的标记
放到linux里先授权,后执行

1.打印:
变量打印

#!/bin/bash

echo \'hello world\'

name=\"zs\"

echo \"hello,\"${name}

echo ${name}

在单引号里无法取到变量,双引号能对${name}取变量

echo \"hello,${name}\"

echo \'hello,${name}\'

打印命令:

name= rpm -qa | grep mysql

echo $name

[root@niceday opt]# ./test2.sh mysql-community-release-el7-5.noarch mysql-community-common-5.6.48-2.el7.x86_64 mysql-community-client-5.6.48-2.el7.x86_64 mysql-community-server-5.6.48-2.el7.x86_64 mysql-community-libs-5.6.48-2.el7.x86_64

2.计算:
数值计算:

v1=123

v2=456

((var=$v1 + $v2))

echo \"var is:$var\"

[root@niceday opt]# ./test2.sh

var is 579

3.流程控制:

if判断:#!/bin/bashif [ $1 == $2 ]thenecho \"hello\"fiif [ $2 -gt $3 ]thenecho \"dayu\"fi
[root@niceday opt]# ./test2.sh  10 10 50hello
if [ $1 -lt 20 ]thenecho \"hello\"elif [ $1 -lt 40 ]thenecho \"大于20小于40\"elseecho \"其他值\"fi
[root@niceday opt]# ./test2.sh  40其他值[root@niceday opt]# ./test2.sh  30大于20小于40

for判断:

var=`rpm -qa | grep mysql`for x in $vardoecho \"my data:$x\"done

while判断:

while(($nums <= 5))doecho \"num: $nums\"let \"nums++\"# ((nums=$nums + 1))done

二:运算符:

数值关系运算符

-eq 等于—-equal
-ne 不等于—-not equal
-gt 大于—-greater than
-lt 小于—-less than
-le 小于或等于 —-less or equal
-ge 大于或等于—-greater pr equal

布尔运算符

-o 或运算
-a 与运算
$0为程序本身 $1-9代表顺序参数编号−大于10使用括号9代表顺序参数编号 -大于10使用括号9代表顺序参数编号−大于10使用括号{10}

字符串运算符

判断字符串相等直接=即可
-z 检测字符串长度是否为0,为0返回 true。 [ -z a]返回false。−n检测字符串长度是否不为0,不为0返回true。[−n“a ] 返回 false。-n 检测字符串长度是否不为 0,不为 0 返回 true。 [ -n “a]返回false。−n检测字符串长度是否不为0,不为0返回true。[−n“a” ] 返回 true。
$ 检测字符串是否为空,不为空返回 true。
字符串之间判断是用=,而不是==。

文件运算符

-e 判断文件是否存在-exist
-d 判断是不是目录 -directory
-r 判断文件是不是可读 -read
-w 判断文件是否可写 -write
-x 判断文件是否可执行 -excute
-f 判断是不是普通文件(既不是目录,也不是设备文件)-file
-s 判断文件是否为空 -size

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » Shell脚本基本命令