最近,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"