#bash
#bash
Вопрос:
Допустим, я выполняю следующую команду либо в BASH, либо в Kornshell:
$ foo | while read line
> do
> echo "Line = '$line'"
> done
Если я vi
установил и отредактировал его в Kornshell, я получаю:
foo | while read line
do
echo "Line = '$line'"
done
Если я vi
установил и отредактировал его в BASH, я получаю:
foo | while read line;do; echo "Line = '$line'";done
Есть ли способ получить редактирование командной строки в BASH так же, как работает Kornshell?
Ответ №1:
Вам нужно включить опцию lithist
(буквальная история), которая указывает bash сохранять новые строки:
$ shopt -s lithist
Комментарии:
1. Спасибо. Я знал, что это должна быть одна из
shopt
настроек, но понятия не имел, какая именно.
Ответ №2:
Вам нужны две вещи:
$ shopt -s cmdhist # Это включено по умолчанию, поэтому, вероятно, не нужно $ shopt -s lithist # По умолчанию отключено