Shell 不处理转义字符空格

Shell 不处理转义字符空格

最近,shell 似乎改变了处理参数中空格的方式。它以前可以正确处理它们(或者至少按照我的预期),但现在它将其识别为一堆不同的参数,并且完全忽略了转义字符。

一个曾经运行良好的小脚本的示例:

#!/bin/sh 
exec /home/evan/.applications/Sublime\ Text\ 2/sublime_text $1

因此,我会给它一些带空格的文件路径,它过去会打开正确的文件,例如 /home/evan/Document/My\ File\ Path/file.txt 会打开那个 file.txt。现在它会打开“My”、“File”、“Path”和一些未知的“file.txt”。显然,这不是我要找的 file.txt。

任何帮助都将不胜感激。提前谢谢您。

操作系统:Ubuntu 13.04 GNOME 版本,带最新更新

编辑:我忘了提到该命令执行完美。参数却不完美。

答案1

这就是我们使用引号的原因。

... "$1"

相关内容