Как я могу “сложить” псевдонимы оболочки?

Chris Down был прав; я не работал с корневыми полномочиями

12
13.04.2014, 09:24
5 ответов
[112629]Псевдоним оболочки [113262]TM[113263] ведет себя примерно так же, как [113264]#define[113265], т.е. переопределение псевдонима оболочки перекрыло бы предыдущий.[12278]Я не уверен, что было бы правильным путем [113266]TM[113267], но одним из подходов было бы использование функции оболочки, принимающей параметры и использующей их для создания псевдонима. Ваш фрагмент кода можно было бы переписать как:[12279] [12280] Более того, даже если бы вы использовали разные псевдонимы и пытались использовать один для определения другого, это не сработало бы, так как псевдонимы по умолчанию не расширяются в неинтерактивном режиме. Вам нужно включить его, установив [113268]expansion_aliases[113269]:[12281]Цитата из руководства:[12282]
5
27.01.2020, 19:56
[112615]Подстановка псевдонимов выполняется только при чтении строк из интерактивных источников. Таким образом, на второй псевдоним не влияет первый, следовательно, и буквальная замена.[12272]Возможно, что-то похожее:[12273]Это установит 'pacman' в нужное значение, переменная PACMAN env не экспортируется, поэтому она исчезнет, когда скрипт завершит работу, и использование "двойных кавычек" обеспечит подстановку переменных при объявлении псевдонима, а не при каждом вызове. [12274]Я использую аналогичный метод:[12275]В принципе, установите env var PACMAN, проверьте pacmatic на пути, если найдено, установите PACMAN, затем определите псевдоним.[12276]Хм, вы можете оптимизировать немного больше...[12277]Taa Daa! Установите 'pacman', если PACMAN не установлен или равен нулю, в противном случае установите значение PACMAN, установите pacmatic строкой 'which'.[112628].
6
27.01.2020, 19:56
[113842]В zsh, вы можете легко добавить к псевдониму псевдоним, используя [12222]псевдонимы[12223]ассоциативный массив:[12224]В других оболочках, вам нужно использовать вывод команды [114320]псевдоним[114321], чтобы узнать о существующих псевдонимах.[12225]Пока я предлагаю это как возможность, я бы использовал переменную, как уже предлагалось в других ответах. Это понятно, и вы можете различать значение переменной, если хотите по-другому настроить некоторые вещи, на основе которых используется один из [114322]pacmatic[114323] или [114324]pacman[114325].[12226]
2
27.01.2020, 19:56
[113544] Короткая версия для 2-го псевдонима будет:

0
27.01.2020, 19:56
[12230] псевдонимы для птиц. [113857]
0
27.01.2020, 19:56

Теги

Похожие вопросы