今天练习写脚本的时候,遇到一个问题——怎么将命令输出的结果赋值给变量。
查阅之后发现有两种方法:
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
。我修改了半天才发现是输错了,特别尴尬!!!