微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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。我修改了半天才发现是输错了,特别尴尬!!!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐