Shell变量

1、使用变量

使用一个定义过的变量,只要在变量名前面加美元符号即可,如:

var="hello world"
echo $var
echo ${var}

2、重新定义变量

var="hello"
echo ${var}
var="world"   #不能写成$var="world"
echo ${var}

使用变量的时候才加美元符($)

3、只读变量

使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。

#!/bin/bash
var="hello"
readyonly var
var="world"

运行结果如下图:
在这里插入图片描述

4、删除变量

使用 unset 命令可以删除变量

#!/bin/sh
var="hello"
unset var
echo var

变量被删除后不能再次使用,上述实例无输出内容。
unset 命令不能删除只读变量

5、局部变量

使用local定义局部变量

#!/bin/bash
var="hello"
function test()
{
	local var="world"
	echo $var			#输出world
}
test
echo $var				#输出hello

输出:
world
hello

6、单引号和双引号

字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。

6.1、单引号

  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;

  • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。

6.2、双引号

  • 双引号里可以有变量

  • 双引号里可以出现转义字符

6.3、单引号和双引号的区别

#!/bin/bash
var="hell"
echo "${var}o world"	#加花括号是为了帮助解释器识别变量的边界
echo '${var}o world'

输出:
hello world
${var}o world

7、拼接字符串

7.1、双引号拼接

#!/bin/bash
var="world"
echo "hello"${var}"!"
echo "hello${var}!"

输出:
helloworld!
helloworld!

7.2、单引号拼接

#!/bin/bash
var="world"
echo ’hello‘${var}!echo ‘hello${var}!

输出:
helloworld!
hello${var}!

8、获取字符串长度

#!/bin/bash
var="hello"
echo ${#var}

输出:
5

9、提取子字符串

#!/bin/bash
var="abcdefg"
echo ${var:1:2}			#从索引为1的字符处开始,取2个

输出:
bc

10、查找子字符串

查找字符b或 c的位置(哪个字母先出现就计算哪个):

#!/bin/bash
var="gfedcba"
echo `expr index "$var" bc`

输出:
5

注意: 以上脚本中 ` 是反引号(ESC下面的那个键),而不是单引号 '

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值