linux-shell(12)-Bash变量测试与内容替换

就是一个表:(主要是理解了,然后用的时候查表就行)

变量置换方式变量y没有设置变量y为空值变量y设置值
x=${y-新值}x=新值x为空x=$y
x=${y:-新值}x=新值x=新值x=$y
x=${y+新值}x为空x=新值x=新值
x=${y:+新值}x为空

x为空

x=新值
x=${y=新值}

x=新值

y=新值

x为空

y值不变

x=$y

y值不变

x=${y:=新值}

x=新值

y=新值

x=新值

y=新值

x=$y

y值不变

x=${y?新值}新值输出到标准错误输出(就是屏幕)x为空x=$y
x=${y:?新值}新值输出到标准错误输出新值输出到标准错误输出x=$y

 

举例说明:(前四个只改变x的值,后面两个会同时改变x,y)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我来介绍一下Shell变量替换以及变量作用域的相关知识。 在Shell脚本中,变量可以用来存储数据。变量替换是指将变量替换为其对应的值。在Shell中,有以下几种变量替换方式: 1. $变量名:获取变量值。 例如,定义一个变量name,然后获取其值: ``` name="John" echo $name ``` 输出结果为: ``` John ``` 2. ${变量名}:与$变量名类似,但是可以更加灵活地处理变量。 例如,获取name变量值的前3个字符: ``` name="John" echo ${name:0:3} ``` 输出结果为: ``` Joh ``` 3. $(命令):执行命令,并将其输出作为变量的值。 例如,获取当前时间: ``` time=$(date +%H:%M:%S) echo $time ``` 输出结果为: ``` 18:30:15 ``` 在Shell脚本中,变量的作用域可以分为全局变量和局部变量。全局变量定义在脚本头部,可以被脚本中的所有函数和命令使用。局部变量定义在函数内部或者命令中,只能在其所在的函数或命令中使用。 在Shell中,使用export命令可以将局部变量变为全局变量。例如: ``` #!/bin/bash function test { local name="John" export age=20 echo "Name: $name" echo "Age: $age" } test echo "Name: $name" echo "Age: $age" ``` 以上脚本中,test函数中定义了一个局部变量name和一个全局变量age。在函数中,使用export命令将age变量变为全局变量。在函数外部,无法访问name变量,但可以访问age变量。 希望这些信息可以对你有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值