bashrc エイリアス ls が機能しない

bashrc エイリアス ls が機能しない

.bashrc ファイル内のエイリアスを使用して ls コマンドを変更しようとすると、奇妙なエラーが発生します。

.bashrc ファイル

export http_proxy="Some URL"  
export https_proxy=$http_proxy 

alias ls='ls --color'

次に、試してみるとls、出力は次のようになります。

's: unrecognized option '--color
Try 'ls --help' for more information.

.bashrc からエイリアスを削除して実行するとls --color、期待どおりの結果が表示されます。

何が間違っているのか分かりませんが、助けていただけるとありがたいです。変更を加えるたびに、.bashrc が再ロードされるようにターミナルを再起動します。OS は Ubuntu 14.04 です。

関連があるかもしれないいくつかのこと

  • .bashrc 内の空行が原因で、: command not found新しいターミナルを開いたときにその行がターミナルに表示されます。
  • alias ls='ls --color'ターミナルで実行すると、エイリアスは正しく機能します。
  • 技術的には、私は Windows 上で、Cygwin を使用してこの Ubuntu VM に SSH 接続しています。

関連する質問
.bashrc ファイルで定義されたエイリアス名が機能しないのはなぜですか?
http://www.linuxquestions.org/questions/linux-newbie-8/bashrc-aliases-don't-work-267885/
Debian でエイリアスが機能しない
https://unix.stackexchange.com/questions/44616/why-is-vim-creating-files-with-dos-line-endings

答え1

問題が見つかりました。vim で .bashrc を開いたときに、[dos]下部に小さな文字があることに気付きました。

その後、dos2unix .bashrcUnix ファイルの末尾に変換すると、問題は解決しました。

さらに読んでみると、Cygwin が dos の行末に何らかの関係があるようです。https://unix.stackexchange.com/questions/44616/why-is-vim-creating-files-with-dos-line-endings

答え2

そのためには二重引用符を使用する必要があると思います。二重引用符は入力した内容の完全な意味を保持しますが、一重引用符ではそうではありません。 これを読む詳細については。

コードは次のようになります

alias ls="ls --color"

関連情報