У меня есть эта команда, которая делает то, что я хочу, но я не могу добраться для искажения ее в моем .bashrc (обратите внимание, что она использует и одинарные и двойные кавычки):
svn status | awk '$1 =="M"{print $2;}'
Я попробовал:
alias xx="svn status | awk '$1 ==\"M\"{print $2;}'"
И некоторые другие разумные комбинации без удачи.. Я знаю, что удар очень придирчив с кавычками.. Таким образом, что корректный путь состоит в том, чтобы исказить его и почему?Спасибо
Просто необходимо выйти из него правильно.
alias xxx="svn status | awk '\$1 ==\"M\"{print \$2;}'"
Существует третий путь (я нашел легче) около использования функции, или выход из пути @ffledgling сделал: использование синтаксиса строкового литерала ( вот превосходный ответ ).
Так, например, если Вы wan't для создания псевдонима этот onliner это закончит тем, что было:
alias snap-removedisabled= , Таким образом, просто необходимо добавить $
перед строкой и выйти из одинарных кавычек.
snap list --all | awk \'$5~"disabled"{print $1" --revision "$3}\' | xargs -rn3 snap remove'
, Таким образом, просто необходимо добавить $
перед строкой и выйти из одинарных кавычек.
Вот что-то, что выполняет то же самое, не используя псевдоним. Поместите его в функцию в Вашем .bashrc:
xx() {
svn status | awk '$1 =="M"{print $2;}'
}
Этот путь Вы не должны волновать по поводу получения кавычек просто право. Это использует тот же самый синтаксис, Вы были бы в командной строке.