У меня может быть своя запись истории оболочки как расширенные подстановочные знаки?

Формат /etc/hosts на Linux и Windows то же:

IP address        hostname [hostalias]...

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

Вам не придется сделать Вашу часть хоста домена. Попробуйте его и посмотрите. Но это была бы хорошая идея использовать .localdomain если у Вас нет реального доменного имени. Это может принять решение имени хоста, немного более быстрое из-за ndots опция в /etc/resolv.conf.

Обратите внимание, что в этом смысле, домен означает домен DNS (как google.com или stackexchange.com), не домен Windows или что-либо как этот.

Строка, запускающаяся с ::1 для IPv6. ::1 похож 127.0.0.1 в соответствии с новой схемой адресации. Выполненный ifconfig lo и необходимо видеть, что это имеет два адреса. Отметьте запись, запускающуюся с inet6.

$ ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
...

Посмотрите хосты (5) страница справочника для получения дополнительной информации.

6
07.05.2011, 15:40
1 ответ

Я не думаю, что любая оболочка делает что-либо вне пробельной порчи при хранении команд в историю. Что * расширенный до не зарегистрирован и там, кажется, не опция записать его.

Обратите внимание, что не было бы возможно записать в полной общности так или иначе. Например, если Вы работаете a='foo* bar*'; rm $a (rm $=~a в zsh), оболочка вряд ли обнаружит подстановочное соответствие синтаксически. И нет никакой опции зарегистрировать все расширения шарика.

Вы могли мостить что-то вместе с preexec (или эквивалентный удар). Непротестированный сначала идут (для zsh):

history_wildcards=()
precmd () {
  emulate -LR zsh
  local n tmp
  history -1 | read n tmp
  history_wildcards[$(($n+1))]=$=~1
}

Это заполняется history_wildcards выстройте к строке с расширением шарика каждого слова в командной строке. Разделение Word выполняется наивным способом, таким образом, что-то как echo ' /**/* ' расширится /**/* (т.е. пересеките свой диск). Не ожидайте ничего полезного из cd subdir && echo * или что-либо так возражает-bogglingly нетривиальный.

Если Вы планируете заранее, можно заставить zsh развернуть подстановочные знаки перед представлением команды. В конфигурации по умолчанию просто нажмите Tab, когда Ваш курсор будет на шарике. При конфигурировании завершения по-другому попробовать ^X * (expand-word).

4
27.01.2020, 20:29
  • 1
    Если никто не добавит другой ответ через несколько дней, то я отмечу, как принято, я думаю, что Вы правы. Было бы интересно попытаться сделать оболочку, где история более подходила для помощи с аудитами. –  Joseph Garvin 01.05.2011, 23:12
  • 2
    @Joseph: оболочка неправильно находится на одном уровне для auditability, существует слишком много способов выйти из него (такие как запуск файлового менеджера). Существуют все виды аудита пакетов до полностью зарегистрированных файловых систем, но они дико не развертываются. –  Gilles 'SO- stop being evil' 01.05.2011, 23:16
  • 3
    @Giles: Когда, как я сказал, делают оболочку, я имел в виду, создают совершенно новый с нуля, где необходимо было бы создать в ограничениях для предотвращения такой вещи. Вы определенно правы, что запись надежной конфигурации, вероятно, невозможна. хвост –  Joseph Garvin 06.05.2011, 01:54
  • 4
    @Joseph: Запись новой оболочки с нуля не помогла бы Вам, потому что оболочкой является по сути неправильный УРОВЕНЬ для работы в. Это - просто процесс, выполненный ядром. Это, оказывается, интерактивное, которое принимает, что команды от ввода данных пользователем и инструкций ядро запускают тех как другие процессы, но это - просто процесс. Существует другой процесс в системах и никакой оболочке, которую Вы могли когда-либо писать, будет иметь способность контролировать то, что они обрабатывают, на самом деле делают. Вид аудита Вас спрашивает о, должен был бы быть сделан на уровне ядра или уровне файловой системы. –  Caleb 07.05.2011, 15:46
  • 5
    @Caleb: я предполагаю, что такая оболочка только была бы частью большей системы, где тем, что может сделать пользователь, уже справедливо управляют другие средства. Я не означал подразумевать, что пользовательская оболочка отдельно выполнит что-либо мудрая безопасность; p –  Joseph Garvin 07.05.2011, 22:57

Теги

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