Мой утренний кофе еще'т не дошел мой мозг еще когда я забыл кавычки в:
alias grep="grep --color=always"
так что вместо этого я набрал:
alias grep=grep --color=always
оставив меня с:
--color=always
grep=grep
в мои псевдонимы.
Когда я пытаюсь очистка --цвет=всегда через unalias-цвет
я получаю:
bash: unalias: --: invalid option
unalias: usage: unalias [-a] name [name ...]
Я попытался вырваться, цитируя и клянчит, но я не могу выяснить, как сделать unalias очистки коммандос бардак.
(Я знаю, что перезагрузка будет делать трюк, но, конечно, должен быть другой путь)
Вы можете избежать систем POSIX-совместимой интерпретации тире в команды путем добавления --
до каких-либо аргументов.
mtak@frisbee:~$ alias grep=grep --color=always
mtak@frisbee:~$ alias | grep color
alias --color='always'
mtak@frisbee:~$ unalias -- --color
mtak@frisbee:~$ alias | grep color
mtak@frisbee:~$
Это также работает с другими утилитами, позвольте'ы сказать, у вас есть файл с именем -бла
. Если вы попытаетесь удалить его с РМ
, то вы получите следующее сообщение об ошибке:
mtak@frisbee:~$ ls -- -bla
-bla
mtak@frisbee:~$ rm -bla
rm: invalid option -- 'b'
Try 'rm ./-bla' to remove the file '-bla'.
Try 'rm --help' for more information.
С помощью --
перед именем, вы удалить файл:
mtak@frisbee:~$ rm -- -bla
mtak@frisbee:~$ ls -- -bla
ls: cannot access '-bla': No such file or directory
Исправить ошибку и неправильный псевдонимов вы можете просто запустить
unalias grep --color
<ч>
Вы даете неверную команду псевдоним грэп=грэп-цвет=всегда
не в "..."
в.
- цвет
и команда grep
; действительно, Вы можете прочитать его на левой стороне выхода (все слева от =
- это псевдоним команды):--цвет=всегда грэп=грэп
поэтому нужно сбросить обоих.
...
в синоптических псевдоним означает, что можно делать нескольких свиданий в одну строку: псевдоним: псевдоним [-Р] [имя[=значение] ... ]
В выводе псевдоним
вы можете прочитать синоптические но от человека колотить` вы можете прочитать что можно в той же строке, даже в список и присвоить в то же время:
если аргументы не заданы, псевдоним определен для каждого имени, значение которого дано. Пробел в результате следующего слова должны быть проверены на псевдоним замещения, когда псевдоним расширяется. Для каждого имени в списке аргументов, для которых не указано значение, имя и значение псевдонима печатается...
У вас есть проблемы, чтобы отменить первый --один цвет
.
Это потому, что она интерпретируется в качестве опции для "псевдонима" по вашей оболочки; чтобы избежать этого, вам нужно связываться обстреливать свой Баш
, что после это не вариант.
На Святой Грааль для Linux: "человек", в этом случае человек Баш-это сундук, наполненный сокровищами полезно в такой ситуации. Вы можете прочитать от человека колотить`:
-- а -- сигналы окончания опции и отключает далее вариант обработки. Любые аргументы после того, как ... рассматриваются как имена файлов и аргументы. Аргумент - это эквивалентно -.
Как сообщили в остальных ответить на пути в POSIX заключается в использовании специальной комбинации символов --
.
unalias -- --цвет
--
?
Так как он работал на псевдоним
даже unalias-можно дать больше, чем одно имя, в одно время (опять
[...]`).unalias: unalias [-а] имя [имя ...]
Я могу дать только мое предположение: хорошие привычки программирования, чтобы написать чтении и написании программ в то же время, ниже по той же логике. Поэтому он должен быть для параметра разбор процедур псевдоним
и unalias
.
Что это работает, можно увидеть даже из этой команды (из командной строки открыл для этой цели), что не сотрет все ваши псевдонимы:
unalias угодно -
В разделе баги человек Баш
среди немногих вещей, которые сообщили, вы можете прочитать :-)
псевдонимы путаете в некоторых использует.