使用文件名

时间:2016-10-03 04:03:18

标签: linux bash

我正在编写一个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

1 个答案:

答案 0 :(得分:2)

cat -A的输出所示,您在某些行的末尾有回车符(\r),导致上述问题。

删除那些:

sed -i 's/\r$//' configure.sh

或只使用dos2unix

dos2unix configure.sh