shell位置变量、预定义变量和运算符

2019年4月21日 0 条评论 725 次阅读 0 人点赞

str="date"

unset str

echo $str

#此时运行这个shell文件就会报错,因为变量str已经被删除了

以下正式进入主题

知识点:位置变量的定义

#!/bin/

echo $1

echo $2

echo $3

位置变量最多有9个,也就是$1~$9

此时运行./bin.sh +参数它能依次的接收参数

例如此时文件中的内容是

#!/bin/ bash

#./bin.sh

echo $1

echo $2

echo $3

我们在外面运行这个shell文件,并且加上参数

./bin.sh start

界面就能接受到start这个参数并且将它输出出来,没有定义的参数用回车换行显示,如下图所示

实际应用如下:

我们需要在shell脚本中书写switch来使用这个实例,如下所示:

 

此时命令:

./txt.sh start

#输出结果为:我是start参数

./txt.sh stop

#输出结果为:我是stop参数

如图所示:

知识点:shell中预定义变量的介绍

变量:$# (获取参数的个数)

echo "总共有${#}个参数"

变量:$* (获取参数分别是什么)

echo "变量分别是${*}"

变量:$? (用于检测上条命令是否执行成功,如果执行成功返回0,即0个错误)

变量:$0 (用于显示当前脚本的名称)

应用示例:

 

知识点:shell的运算符书写格式

当然也可用expr来进行运算,如下所示

注:且千万注意expr运算表达式书写的时候要写反引号,也就是esc下方的那个键,而$(())这种运算表达式不需要加反引号

总而言之,言而总之,shell的语法有点反人类......但是在服务器运维上,shell脚本起着重要作用

兰陵美酒郁金香

大道至简 Simplicity is the ultimate form of sophistication.

文章评论(0)

你必须 登录 才能发表评论