Держите конкретную команду подальше от истории оболочки

Ошибка на уровне 8 все время!

Я забыл разрешить обратное прохождение трафика через мое туннельное устройство.

Решение

#Set default policy of chain 
iptables -P FORWARD DROP

#allow traffic to route from VPN subnet to specific host in subnet
iptables -A FORWARD -i tun0 -s {VPN subnet} -d {host in server subnet} -j ACCEPT
#allow traffic from host in server subnet back to VPN subnet
iptables -A FORWARD -o tun0 -s {host in server subnet} -d {VPN subnet}

Меня вдохновил вот этот пост:

https://forums.openvpn.net/viewtopic.php?t=20369

0
14.03.2020, 19:32
3 ответа

С помощью set -o histignorespaceкомандные строки, начинающиеся с символа SPC, не вставляются в историю (, хотя вы всегда можете вспомнить команду, которая была введена непосредственно перед ).

Так что, если вы сделаете это:

set -o histignorespace
alias c=' printf "\e[H\e[3J"'

И введите командную строку, первая команда которой c, тогда эта командная строка не будет добавлена ​​в историю.

Другим подходом может быть переопределение виджета accept-lineтаким образом, чтобы он очищал экран и буфер редактирования, когда он содержит толькоc:

accept-line() case $BUFFER in
  (c) printf '\e[H\e[3J'; BUFFER=; zle redisplay;;
  (*) zle.accept-line
esac
zle -N accept-line

Обратите внимание, что это будет работать, только если вы введете cи все, а не c; something-else, например. Это также произойдет, если вы нажмете Enter в командной строке PS2, как в :

.
for i do
c
1
28.04.2021, 23:20

В bash HISTIGNORE='c' doesn't store a command line of a singlec to the memory list of commands. The similarly namedHISTORY _IGNORE in zsh is used to avoid sending the command to the history **file**, which is something different. AHIST _NO _STORE `также существует в zsh, но, похоже, не работает с псевдонимами.

Таким образом, кажется, что нет никакого решения, чтобы избежать псевдонима cв истории.

Однако то, что вы делаете, очистка текущего окна(clear)и удаление прокрутки(printf "\e[3J")также может быть выполнено с помощью другой управляющей последовательности ANSI:

ESC c               # Full Reset (RIS), VT100.

Итак, а

printf '\ec'

должно быть достаточно.

Определение сочетания клавиш для этого должно быть простым и позволит избежать сохранения какой-либо команды в истории.

0
28.04.2021, 23:20
Method1:

    Just Put one blank space before entering any command it wont be recorded in history

Method2:

    set +o history (After this No command will be recorded  in history)

    set -o history(After this again command will be recorded in history)
0
28.04.2021, 23:20

Теги

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