bash脚本——将命令结果输出给变量,及需要注意的地方(“bad substitution”报错)

今天练习写脚本的时候,遇到一个问题——怎么将命令输出的结果赋值给变量。
查阅之后发现有两种方法:

NAME='command [option] argument'
!!!这个已经不可以使用了!!!

以及

NAME=$(command [option] argument)

需要注意的是:实际测试之后发现在Ubuntu 20.04.1 LTS上,第一个已经不可以使用了,如果使用echo来查看变量会发现输出是command [option] argument。我看有一种说法是Ubuntu的bash被软链接到dash上了。但是我查看$SHELL发现还是/bin/bash,查看/bin/bash文件信息发现不是软链接。所以可能是代码修改而不是单纯的软链接。
第二种方法还是能继续使用的。 但是第二种方法使用的时候,需要注意使用的是小括号,而不是赋值变量的时候用的大括号,不然会报错显示bad substitution。我修改了半天才发现是输错了,特别尴尬!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值