Как я временно обхожу псевдоним в tcsh?

К сожалению, конфигурация отличается для каждого распределения:

Debian/Ubuntu

/etc/X11/default-display-manager

Redhat (должен также относиться к Fedora),

/etc/sysconfig/desktop

OpenSuSe

/etc/sysconfig/displaymanager
17
06.05.2011, 21:32
3 ответа

Можно использовать обратную косую черту:

% alias ls ls -a
% ls
# ls -a output here
% \ls
# plain ls output here

Для оболочки builtins, там оказывается глюком: ведущая обратная косая черта препятствует тому, чтобы оба псевдонима и builtins использовались, но внутренняя обратная косая черта подавляет искажение только.

% alias cd pushd
% cd /tmp
/tmp /tmp 
% c\d
% dirs
~ /tmp

(Я испытываю желание назвать тот другой аргумент против использования csh семейство оболочек.)

30
27.01.2020, 19:46
  • 1
    я продолжаю получать "команду: Команда, не найденная". для команды, и "CD: Команда, не найденная" для \cd. 'Действительно ли команда' является tcsh встроенным? –  piCookie 06.05.2011, 22:18
  • 2
    странность POSIX... существует фальшивки в /usr/bin на здесь. Но руководство подтверждает, что обратная косая черта должна работать... и оказывается, что это делает, но необходимо заключить внутренний символ в кавычки для предотвращения искажения при тихой поддержке builtins. BTW, При попытке сделать что-то после a cd, смотрите на alias cwdcmd в tcsh(1); это также сохраняет Вас от необходимости иметь дело с pushd/popd и т.д. –  geekosaur 06.05.2011, 22:33
  • 3
    command обычно встроенное в оболочках POSIX и должно быть для command -[Vv]. Используя обратную косую черту для обхода псевдонима только работает на регулярные команды, не на builtins (потому что builtins не может быть заключен в кавычки в (t) csh больше, чем псевдонимы могут). –  Gilles 'SO- stop being evil' 06.05.2011, 22:40
  • 4
    Кажется, что команда не доступна в моей системе (в стороне: как Вы форматировали это для выделения?), но внутренняя обратная косая черта работает на меня.Спасибо! –  piCookie 06.05.2011, 23:17
  • 5
    Аплодисменты @geekosaur - я не знал об этом \поведение, и я думаю, что это будет довольно удобно, поскольку я начинаю использовать псевдонимы все более часто. :) –  boehj 06.05.2011, 23:23

Не делайте псевдонимы, которые ударяют оболочку builtins. Ваша жизнь будет намного легче. Существует много оставленных сочетаний клавиш, пробует cw для Вашего псевдонима заголовка окна изменения :)

Править: Два решения для шага для фиксации искажают, которые не являются Вашими:

  1. Найдите обезьяну, которая исказила cd к чему-то другому, чем каталог изменения управляют и запрашивают его передачу в открытый столбец местной газеты. Он не должен держать место, где он может вызвать идеи как эта на оболочки других людей!
  2. echo unalias cd >> ~/.bashrc
0
27.01.2020, 19:46
  • 1
    Некоторые псевдонимы, которые я имею, не имеют моего собственного выполнения. Я ценю Ваш совет и приложу все усилия для учета его, если это возможно. Теперь, когда существуют псевдонимы, которые я хотел бы обойти, как делают меня? –  piCookie 06.05.2011, 22:19
  • 2
    Уверенный. unalias cd. вздох –  Caleb 06.05.2011, 22:31
  • 3
    Evidentally, я не был ясен вообще, Caleb, и я приношу извинения. Давайте назовем случай 'CD' решенным. Я пытался узнать, как сделать это для других псевдонимов без неискажения. Я сожалею, что не объяснял это. Похоже, что внутренняя обратная косая черта точно, что я искал. –  piCookie 06.05.2011, 23:13
  • 4
    cd псевдоним мог бы устанавливать заголовок и изменять каталог. Это - довольно обычная практика со дней прежде precmd и PROMPT_COMMAND. –  Mikel 07.05.2011, 00:38

префикс вашей команды словом «команда». Бывший.

command ls
1
27.01.2020, 19:46

Теги

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