Shell 变量引用实例

初学 Shell 编程时,对变量各种引用使用不太熟悉,走了很多弯路,本文记录变量引用的一些用法,希望对大家有所帮助。

引用

引用指将字符串用引用符号引起来,以防止特殊字符被 shell脚本解释为其他意义。 shell中定义了 4 种引用符号。

引用符名称说明
‘’单引号称全引用或弱引用,引用所有的字符
“”双引号称部分引用或强引用,引用除美元符号($)、反引号(‘)和反斜线(\)之外的所有字符。
``反引号shell 把反引符中的内容解释为系统命令
\反斜杠转义符,屏蔽下一个字符的特殊意义

实例脚本

可以使用 sh -v testVar.sh命令来执行如下脚本,查看原始命令及输出内容。

# 实例脚本
$ cat testVar.sh
#!/bin/bash
# 变量引用示例

var=daodaotest

## 双引号
# 正常赋值输出
echo "Hello $var"
# 正常赋值输出,${} 方式
echo "Hello ${var}"
# 不会有任何输出,shell 会去引用变量 var2 的值
echo "$var2"
# 正常输出,推荐使用 ${} 方式来引用变量
echo "${var}2"


## 反引号
# 把 pwd 解释为系统命令,即:先执行 pwd,再 echo 打印
echo `pwd`
# 相等于 `pwd`
echo $(pwd)
# 同理
echo `echo $var`

## 单引号
echo '单引号引用时,输出字面内容:$var'
echo '单引号引用时,输出字面内容:${var}'

## 转义符
echo '使用单引号引用,不需要使用转义符号: $、`"、\'
echo "使用双引号引用,需要使用转义符号: \$、\`、\"、\\"
echo "\$var"

## 反引号嵌套单引号和双引号
jobName=dev-daodaotest
viewName=dev
# 此处的变量 ${viewName} 其实是放在了两对单引号中间,起到拼接的作用
name=`echo ${jobName}|awk 'BEGIN{FS="'${viewName}'-"} {print $2}'`
echo ${name}

微信公众号:daodaotest

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叨叨软件测试

不敢奢望赞赏,只求点赞关注~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值