答え1
.profile
コマンドを使用して のタイプを調べたところ、file
次のように識別されました:
UTF-8 Unicode (with BOM) text
問題はこれですBOM
。これは「バイト オーダー マーク」の略で、ストリーム/ドキュメントの先頭にある 3 つの追加バイトであり、使用されている Unicode エンコードの種類を示すことができます。ただし、UTF-8 では推奨されておらず、シェル スクリプトでは無効です。
おそらく、Windows ソフトウェアなどの不適切なエディターを使用してファイルを変更したために、この問題が発生したと考えられます。
問題を解決するには、この BOM を再度削除する必要があります。UTF-8 ファイルから BOM を削除するにはどうすればよいですか?には、それを実行するためのいくつかの便利な提案が含まれています。 1 つの方法は、次のコマンドを実行することです。
sed -i '1s/^\xEF\xBB\xBF//' ~/.profile
簡単に言えば、ファイルの最初の行がこれらの 3 つの BOM バイトで始まっているかどうかを確認し、それらを削除します。