为什么在shell中将\ n附加到文件名?

时间:2016-12-28 12:35:26

标签: linux bash shell

为什么这个shell脚本会添加一个返回输出文件的文件名?

#!/bin/bash
/usr/bin/tail -n 1 /path/logchanged.csv >> "/path/logcontatenated.csv"

未调用文件名" logcontatenated.csv",但" logcontatenated.csv

"

我真的无法在网上找到为什么会这样。

1 个答案:

答案 0 :(得分:2)

是否可以使用Windows创建该脚本?如果该行以\r\n结尾而没有尾随空格,则文件名将被解释为logcontatenated.csv\r。尝试hd yourscript.sh显示脚本的hexdump。换行符应该只是0a的单个字节,而不是0d 0a的两个字节,即确保任何0a之前的字节不是0d。您可以使用dos2unix yourscript.sh来修复脚本。您可能需要先安装dos2unix

编辑:用0c替换0d