单双引号为啥不一样呢
之前我在给生信技能树的生信入门12期学员讲课时没有给大家展开仔细讲这个单双引号的区别, 只在最后一节课讲自定义变量的时候提了一下:
**当我定义一个$a为gene时, 用单引号和双引号扩起来分别...echo出来, 会发现单引号里$a就是本体,
而双引号里的$a则会被解释(扩展)为对应的变量内容.**
举个例子
当时给出的解释是:
单引号:变量不会被解释undefined 双引号:变量被解释
在...**回到最前面的截图, 在①中, 因为用了双引号, awk后面的$0先被shell解释了(一般专业词汇应该叫展开, extend)....这时候$0不再是awk里的“所有字段”(代表整个文本行)的含义, 而是一个叫做“$0”的变量(就跟前面举例的$a一样)....这就是为啥最后awk回没有结果的原因.**
在②中, 因为使用的单引号, $0不会被shell展开, 其含义仍是awk内的含义.