我理解并接受这样的前提,即防御性1 shell脚本既审慎又从长远来看更可持续。
在这里,许多文本处理问题的答案都遵循这一原理,将非常规文件名的意外情况纳入了答案。可能包含空格,破折号和换行符。
文件名中的换行有多普遍?特别:
- 默认情况下,是否有任何应用程序创建包含换行符的文件名?
- 是否有需要创建此类文件名的情况?
- 还是它们主要是用户错误的实例?
[1]含义规划和管理最广泛的场景和突发事件...
4
简短的答案是,带有换行符和/或不可打印字符的奇怪文件名永远都不是好习惯,明智的应用程序不会创建它们,只有在有人试图破坏您的Shell脚本或无法正确处理此类名称的程序时,您才真正看到它们。我将让其他人通过参考文献等提供更详细的答案。
—
jw013 2011年