您好,我正在阅读有关bash脚本的书,作者说,请将以下内容添加到我的.bashrc文件的末尾。 export PATH=~/bin:"$PATH"以便通过在命令行中输入文件名来执行我的文件。但是我注意到,如果我提出export PATH=~/bin:$PATH我可以达到相同的结果。所以我的问题是,带引号的和不带引号的有什么区别?谢谢。
引号不会有任何伤害,但也没有必要。分配由外壳专门处理。从手册页:
变量可以通过以下形式的语句分配给
Run Code Online (Sandbox Code Playgroud)name=[value]如果未提供值,则为变量分配空字符串。所有值都经过波浪号扩展,参数和变量扩展,命令替换,算术扩展和引号删除 (请参见下面的EXPANSION)。
请注意,单词拆分和路径名生成未以粗体显示在列表中。这是您试图通过引用参数扩展来阻止的两种类型的扩展,但是在这种情况下,它们不会执行。相同的规则适用于传递给export内置命令的分配。