
.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 .bashrc
Unix ファイルの末尾に変換すると、問題は解決しました。
さらに読んでみると、Cygwin が dos の行末に何らかの関係があるようです。https://unix.stackexchange.com/questions/44616/why-is-vim-creating-files-with-dos-line-endings。
答え2
そのためには二重引用符を使用する必要があると思います。二重引用符は入力した内容の完全な意味を保持しますが、一重引用符ではそうではありません。 これを読む詳細については。
コードは次のようになります
alias ls="ls --color"