Bash shell脚本。变量作为参数。无引号与双引号

火箭飞船

我有2个不同的命令:

rm -rf $MY_DIR
rm -rf "$MY_DIR"

它们之间有什么区别?我应该使用哪个?

克里斯托弗·史罗巴

Shell变量逐字展开,因此应使用带引号的选项。假设您的$ HOME变量等于/Users/rocket spacer在这种情况下,运行rm -rf /Users/rocket spacer会有所不同rm -rf "/Users/rocket spacer"第一种将尝试删除两件事:/Users/rocketspacer在当前目录中。第二个选项将执行您想要的操作,并删除目录/Users/rocket spacer通常,在扩展表示路径的shell变量时,应将其用引号引起来,这样您就不必担心任何被误解的可能性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章