为什么这个shell脚本会添加一个返回输出文件的文件名?
#!/bin/bash
/usr/bin/tail -n 1 /path/logchanged.csv >> "/path/logcontatenated.csv"
未调用文件名" logcontatenated.csv",但" logcontatenated.csv
"
我真的无法在网上找到为什么会这样。
答案 0 :(得分:2)
是否可以使用Windows创建该脚本?如果该行以\r\n
结尾而没有尾随空格,则文件名将被解释为logcontatenated.csv\r
。尝试hd yourscript.sh
显示脚本的hexdump。换行符应该只是0a
的单个字节,而不是0d 0a
的两个字节,即确保任何0a
之前的字节不是0d
。您可以使用dos2unix yourscript.sh
来修复脚本。您可能需要先安装dos2unix
。
编辑:用0c
替换0d
。