IPTables не регистрируется, если Вы не добавляете правило добавить запись в журнале. Это обычно делается с местом назначения ЖУРНАЛА-j. Запись в журнале отправляется в журнал ядра, и Ваш демон системного журнала определяет, куда записи в журнале ядра идут, который, кажется,/var/log/messages в Вашем случае.
Если Вы хотите заблокировать ping от определенного хоста (вымышленный 123.456.789.10, например), и зарегистрировать все те пакеты, работать:
iptables -A INPUT -p icmp --icmp-type 8 --source 123.456.789.10 -j LOG
iptables -A INPUT -p icmp --icmp-type 8 --source 123.456.789.10 -j DROP
Я предполагаю Ваш единственный шанс сделать, он работать с любым видом редактора должен использовать временные файлы:
FILE=$(mktemp); $EDITOR "$FILE"; <"$FILE" …command… ; rm "$FILE"
(Однако это не позволяет запускать команду, прежде чем полный вход будет обеспечен.)
Также можно использовать echo "# please insert your input bellow" >"$FILE"
перед вызовом к $EDITOR
вставить комментарий, который обнаружится в редакторе. Убедитесь, что это не будет влиять на поведение команды (или просить, чтобы пользователь явно удалил его).
rlwrap command
позволяет редактирование строки (с историей) от терминала и мог бы быть достаточно для Ваших потребностей.
– Stéphane Gimenez
22.03.2012, 17:11
<"$FILE" command;
нет command <"$FILE";
?
– Nils Riedemann
22.03.2012, 20:20
command
был предназначен, чтобы быть замененным фактической командой :-) And для последнего вопроса: это - то же.
– Stéphane Gimenez
22.03.2012, 20:31
FILE=$(mktemp); $EDITOR "$FILE"; <"$FILE" sort -c; rm "$FILE"
Я добираюсь usage: mktemp [-d] [-q] […shortened]
и zsh: no such file or directory:\n rm: : No such file or directory
:/Vim также открывается, но я не могу сохранить файл (никакое имя файла)
– Nils Riedemann
22.03.2012, 20:37
Emacs имеет возможность работать, оболочка в одном из ее буфера (используйте оболочку M-X). Но запущенные процессы все еще получили бы свой вход от stdin, их stdin просто будет псевдотерминалом, другой конец которого был бы emacs.
В Emacs можно выполнить любую команду и обеспечить содержание одного из буферов Emacs (выбранный регион, чтобы быть точными) как stdin к приложению.
Например, если содержание Вашего буфера Emacs будет ls
и Вы отмечаете его как регион (использование C-SPC
), затем выполненный shell-command-on-region
(M-|
) и тип как команда bash
(полная комбинация: M-| command RET
) будет ls
выполняемый в bash
и вывод будет открыт как новый буфер.
Если Вы используете C-u M-| command RET
на регионе вывод заменит отмеченную команду в Вашем текущем буфере.