Я пытаюсь изменить команду ls с помощью псевдонима в моем файле .bashrc, и я получаю некоторые странные ошибки.

файл .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.

Некоторые вещи, которые могут иметь отношение

  • Пустая строка в моем .bashrc вызывает : command not found чтобы отображаться на терминале, когда я открываю новую.
  • Если я запускаю alias ls='ls --color' в терминале, псевдоним работает правильно.
  • Технически я на Windows, использую Cygwin для SSH на эту Ubuntu VM.

Смежные вопросы
почему псевдонимы, определенные в файле .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

2 ответа2

2

Нашел проблему. Я заметил, что когда я открыл свой .bashrc в vim, внизу было немного [dos] .

Затем я запустил dos2unix .bashrc чтобы преобразовать его в окончания файлов Unix, и проблема была исправлена.

После дальнейшего прочтения кажется, что Cygwin, возможно, как-то связан с окончаниями строки dos. См. Https://unix.stackexchange.com/questions/44616/why-is-vim-creating-files-with-dos-line-endings.

0

Я думаю, вам нужно использовать двойные кавычки для этого. Двойные кавычки сохраняют полное значение того, что вы вводите, а одинарные - нет. Прочитайте это для получения дополнительной информации.

Так что ваш код должен выглядеть так

alias ls="ls --color"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .