忽略.bat扩展名,只是旧dos批处理文件日的习惯。
我有2个简单的shell脚本。我想将带有空格的文件名(带有spaces.ext的文件)从little.bat传递给big.bat,如下所示。它不会让我把文件名放在单引号或双引号中。
第一个名为little.bat:
./big.bat some file with spaces.ext
第二个名为big.bat:
cat template.iss | SED “s / replace123 / $ 1 / g”| SED “s / replace456 / $ 1 / g”> $ 1.iss
答案 0 :(得分:1)
使用其他sed命令转义空格。
你可以在这里详细了解这个想法: Escape a string for a sed replace pattern
答案 1 :(得分:0)
您可以使用反斜杠转义每个空格:
some\ file\ with\ spaces.ext
这样,每个空格都在引用上传递,并且shell不会将空格解析为“这是一个参数的结束和另一个参数的开始”。