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

上一篇:history命令记录操作时间、操作用户、操作IP


下一篇:Vue3迁移笔记(持续更新2021/12/23)