我正在编写一个bash脚本来复制一些配置文件。我使用sudo bash configure.sh
运行文件。
#!/bin/bash
cp config/ocr_pattern /usr/share/tesseract-ocr/tessdata/ocr_pattern
cp config/ocr_config /usr/share/tesseract-ocr/tessdata/tessconfigs/ocr_config
但是,当我查看所做的更改时,ocr_config
被正确复制,ocr_pattern
被复制ocr_pattern?
作为文件名,而不是ocr_pattern
。 ?
的文件名后面还有一个字符ocr_pattern
。这是什么问题?
cat -A
#!/bin/bash^M
cp config/ocr_pattern /usr/share/tesseract-ocr/tessdata/ocr_pattern^M
cp config/ocr_config /usr/share/tesseract-ocr/tessdata/tessconfigs/ocr_config
答案 0 :(得分:2)
如cat -A
的输出所示,您在某些行的末尾有回车符(\r
),导致上述问题。
删除那些:
sed -i 's/\r$//' configure.sh
或只使用dos2unix
:
dos2unix configure.sh