5
为什么我的Shell脚本会在空白或其他特殊字符上造成窒息?
或者,一个介绍性的指南,介绍了强大的文件名处理以及其他在Shell脚本中传递的字符串。 我编写了一个外壳脚本,该脚本在大多数情况下都能正常工作。但是它在某些输入(例如某些文件名)上阻塞了。 我遇到了以下问题: 我有一个包含空格的文件名hello world,它被视为两个单独的文件hello和world。 我的输入行有两个连续的空格,它们在输入中缩小为一个。 开头和结尾的空格从输入行中消失。 有时,当输入包含一个字符时\[*?,它们会被一些实际上是文件名的文本替换。 输入中有撇号'(或双引号"),从那以后事情变得很奇怪。 输入中有一个反斜杠(或:我正在使用Cygwin,并且我的某些文件名具有Windows样式的\分隔符)。 怎么回事,如何解决?