Я пытался выполнить перенастройку параметров LDAP по сценарию (пакет ldap-auth-config) с помощью debconf-get-selections / set-selections, упомянутый выше, только для того, чтобы обнаружить, что этот пакет игнорирует настройки в debconf после начальной установки. Вы можете использовать debconf для предварительного заполнения перед установкой, но после установки ldap-auth-config предпочитает перезаписывать ваши настройки debconf тем, что установлено в файлах конфигурации системы, которыми он управляет. Пакет pam-auth-config ведет себя так же.
Механизм EDITOR / VISUAL также трудно использовать в этом случае, потому что ldap-auth-config вызывает его несколько раз для разных наборов вопросов. С этим можно легче справиться с помощью сценария ожидания или путем прямого изменения файлов конфигурации системы. Так что не всегда легко избежать ожидания!
Вы были очень-очень близки. Unix любит обратную косую черту; Unix ест обратную косую черту на завтрак. Вам нужно
alias cs 'cd \!:1; ls'
Если вы посмотрите документацию для csh (и его потомков ), вы увидите, что !
относится к механизму истории, который позволяет вам ссылаться на предыдущую команду (s ). Самый простой пример — !!
, который вызывает и повторяет самую последнюю команду. !:1
означает слово #1 из указанной команды (где самой командой является слово #0; так, например, в grep needle *.txt
, !:0
— это grep
, а !:1
— этоneedle
).
Bash и другие потомки оболочки Bourne имеют функцию это очень похоже.
Псевдонимы оболочки C немного странные. Когда вы запускаете псевдоним, введенная вами команда (например,cs vacation_photographs
)рассматривается как "предыдущая команда". Итак, когда псевдоним запускается, !:1
заменяется на vacation_photographs
.
Загвоздка в том, что это происходит , когда псевдоним запускается . Но расширение истории происходит, когда псевдоним такжеопределен . Так, например, если ваш .cshrc
говорит
set prompt = '% '
alias cs 'cd !:1; ls'
, тогда !:1
оцениваетсякак prompt
, а псевдоним определяется как cd prompt; ls
. Чтобы иметь возможность ссылаться на команду, которую вы набрали (vacation_photographs
), вам нужно определить псевдоним как cd !:1; ls
, и поэтому вам нужно использовать обратную косую черту отложить интерпретацию !:1
, поэтому он будет оцениваться при запуске псевдонима вместо того, когда он определен.
Если вы занимались
alias cs 'cd !:1; ls'
и ничего не делает ничего(даже не выдает сообщение об ошибке ), Я не могу этого объяснить.