私の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が指摘したように、thescript
Windowsの改行(キャリッジリターン/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
この問題を解決するには。