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 重新加载。操作系统是 Ubuntu 14.04。

一些可能相关的事情

  • : command not found当我打开一个新终端时,.bashrc 中的空行会显示到终端上。
  • 如果我alias ls='ls --color'在终端中运行,别名就可以正常工作。
  • 从技术上讲,我在 Windows 上使用 Cygwin 通过 SSH 连接到这个 Ubuntu VM。

相关问题
为什么 .bashrc 文件中定义的别名不起作用?
http://www.linuxquestions.org/questions/linux-newbie-8/bashrc-aliases-don't-工作-267885/
别名在 Debian 中不起作用
https://unix.stackexchange.com/questions/44616/why-is-vim-creating-files-with-dos-line-endings

答案1

[dos]找到问题了。我注意到当我在 vim 中打开 .bashrc 时,底部有一点东西。

然后我将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"

相关内容