bash의 "source" 명령을 사용하면 구성 파일을 성공적으로 읽었음에도 불구하고 오류가 반환됩니다.

bash의 "source" 명령을 사용하면 구성 파일을 성공적으로 읽었음에도 불구하고 오류가 반환됩니다.

내 bash 스크립트가 구성 파일에서 매개변수를 읽도록 하고 싶습니다. 스크립트 내부 내용은 다음과 같습니다.

#!/bin/bash
source /home/myscript/conf/config.conf

echo "$username"

아래는 내 config.conf입니다.

username="jonas"

스크립트를 실행하면 출력됩니다.

[user@machinename bin]$ . thescript
: No such file or directoryonfig.conf
: command not found
jonas

여기서 혼란스럽습니다. "jonas"가 성공적으로 인쇄되었음에도 불구하고 "해당 파일 또는 디렉터리가 없습니다" 및 "명령을 찾을 수 없습니다" 오류가 나타나는 이유는 무엇입니까?

내가 뭐 잘못 했어요?

답변1

@Mat이 지적했듯이 thescriptWindows 줄 바꿈(캐리지 리턴/CR 다음에 줄 바꿈, 일명 LF)이 있을 수 있습니다. 비교하다:

$ echo : No such file or directoryonfig.conf
: No such file or directoryonfig.conf
$ printf '/[.................]/conf/config.conf\r: No such file or directory\n'
: No such file or directoryonfig.conf

사용dos2unix thescript이 문제를 해결하려면.

관련 정보