Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
s> <u> <d> <o> <space> <!> <!>s> <u> <d> <o> <space>rm -rf / some/folder.rm -rf / some/folder у меня отсекает zsh — он разворачивает "!!" и я могу посмотреть полностью команду и убедиться, что там нет ничего страшного.zshaddhistory (не помню, чем меня не устроила настройка HIST_IGNORE_SPACE). А вообще zsh имеет кучу способов удаления из истории:$HISTORY_IGNORE: переменная, содержащая шаблон, под который должна подпадать игнорируемая командаsetopt HIST_IGNORE_SPACE: настройка, заставляющая игнорировать командную строку, начинающуюся с пробела или использующую обычный (есть ещё suffix и глобальные) alias, начинающийся с пробелаsetopt HIST_NO_FUNCTIONS и setopt HIST_NO_STORE — игнорируют командную строку, в которой есть определение функции или вызов fczshaddhistory: если данная функция завершится с кодом 1, то строка не будет сохранена, а если 2, то она не будет сохранена в файле, но будет в памяти.man zshoptions по‐умолчанию она не включена (как и в bash, кстати). Только zsh всегда даёт вам редактировать ранее введённую команду, а bash — нет.(просто скопипастите это пример в шелл)
@[~]$ echo NO ROOT PLEASE
NO ROOT PLEASE
@[~]$ echo do it with sudo
do it with sudo
@[~]$ sudo !!
sudo echo do it with sudo
Password:
… This feature is enabled by default for interactive shells, and can be disabled using the +H option to the set builtin command (see SHELL BUILTIN COMMANDS below). Non-interactive shells do not perform history expansion by default.…
cat ~/.ssh/config
Host *.my.servers.domain
ControlMaster auto
ControlPath /tmp/ssh_mux_%h_%p_%r
ControlPersist 4h
NOPASSWD:# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# Allow admin user execute anything without password
admin ALL=(ALL) NOPASSWD:ALL
!!.sed -i 's/HISTCONTROL=ignorespace//g' .bashrc
bash нельзя никак.
Не используйте "!!" в баше