2011-10-25 3 views
2

Допустим, я выполнить следующую команду в любой BASH или Kornshell: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?

ответ

5

Вам необходимо включить опцию lithist (буквальная история), который говорит Баш, чтобы сохранить новые строки:

$ shopt -s lithist 
+0

Спасибо. Я знал, что это должна быть одна из настроек «shopt», но понятия не имела, какой из них. –

1

Вам нужно две вещи:

 
$ shopt -s cmdhist # This is on by default, so probably unnecessary 
$ shopt -s lithist # This is off by default 
Смежные вопросы