Shell变量与运算符

Table of Contents

1.符号变量的使用

2.位置变量使用

3.数组使用

4.运算符的使用

4.1 算术运算符

4.2 比较运算符

4.3 逻辑运算符

4.4 文件运算符


1.符号变量的使用

编写脚本

执行

说明
1. 变量的定义与使用规则:
     1)变量名首字符必须为字母,名字只能用字母、数字、下滑线,不要用bash关键字。非法的名字:8var、var-8
     2)变量定义或赋值时,变量名与值之间用等号连接:变量名=值,等号两边不能有空格,值中有空格或特殊字符需要用双引号或单引号引起来。
     3)使用 $变量名 或 ${变量名} 形式获取变量值

2.选项参数

-n :不要执行 script,仅查询语法的问题;
-v :再执行 script 前,先将 scripts 的内容输出到屏幕上;
-x:实现shell脚本逐条语句的跟踪。这样我们可以分步骤进行查看每步的输出结果

3. 变量定义中符号的使用

1)单引号 ' ' :单引号里面的所有字符都是普通字符。

2)双引号 " ":双引号会保留变量特性,用值替换。

3)反引号 ` `:位于Esc 键下方,用倒引号括起一个命令时,这个命令将会被执行,执行后的结果作为这个表达式的值。

单引号和双引号用于变量值出现空格时,比如 name=zhang san 这样执行就会出现问题,而必须用引号括起来,比如 name="zhang san"。

不过,引号有单引号和双引号之分,二者的主要区别在于,被单引号括起来的字符都是普通字符,就算特殊字符也不再有特殊含义;而被双引号括起来的字符中,"$"、"\"和反引号是拥有特殊含义的,"$"代表引用变量的值,而反引号代表引用命令。

如果需要调用命令的输出,或把命令的输出赋予变量,则命令必须使用反引号包含,这条命令才会执行,反引号的作用和 $(命令) 是一样的,但是反引号非常容易和单引号搞混,所以推荐大家使用 $(命令) 的方式引用命令的输出。

所以我们的脚本还可以改成

#!/bin/bash
# 输出时间
now=$(date)
echo ${now}
msg1="${now},天气不错,适合出去玩耍"
echo ${msg1}
msg2='${now},天气不错,适合出去玩耍'
echo ${msg2}

2.位置变量使用

shell语法中,当调用shell脚本的时候可以通过脚本后面的位置进行参数传递,然后通过各种不同的位置变量接收即可;

3.数组使用

获取数组长度:用${#数组名[@或*]} 可以得到数组长度

${#arr[*]}  或 ${#arr[@]} 

读取数组元素:

读取下标为1的元素:${arr[1]}

读取数组整个元素:${arr[*]}

给数组元素赋值:

arr[1]=1

 

删除数组元素:

删除后,数组长度改变

unset arr[1]

数组切片:

直接通过 

${数组名[@或*]:起始位置:长度}

 切片原先数组,返回是字符串,中间用“空格”分开。

如果加上”()”,将得到切片数组

4.运算符的使用

4.1 算术运算符

4.2 比较运算符

4.3 逻辑运算符

4.4 文件运算符

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值