В ударе или mksh возможно переместить введенную строку пословно, с помощью ярлыков, таких как ESCB.
Это не работает в ksh или тире. Насколько я понимаю от поиска с помощью Google, это имеет некоторое отношение к поддержке readline, однако нигде я не видел, что он упоминает, как включить поддержку тире.
Это - ядро моего вопроса: Как включить навигацию строки для тире
Короткий ответ:
dash
прямой потомок Shell Almquist (ash
). ash
никогда не показывал поддержку редактирования строки, и ни один не делает dash
. Busybox ash
делает, поэтому если Вы должны ash
вариант по некоторым причинам и имеет редактирование строки, и т.д., используйте Busybox ash
. Ничья попытка побеспокоить добавлением readline поддержку, с тех пор dash
основное использование для выполнения сценариев оболочки.
Если, конечно, Вы не готовы кодировать поддержку readline в dash
, и поддержите такой патч сами...
Длинный ответ:
libedit
Если Вы смотрите на dash
страница справочника:
-V vi Enable the built-in vi(1) command line editor
(disables -E if it has been set).
-E emacs Enable the built-in emacs(1) command line editor
(disables -V if it has been set).
Они только работают если dash
был скомпилирован с --with-libedit
. Это не, ни в Ubuntu, ни, по-видимому, в Debian.
Можно создать его таким образом:
git clone https://git.kernel.org/pub/scm/utils/dash/dash.git
cd dash
./autogen.sh
./configure --with-libedit
make
Затем выполненный:
src/dash -E
Необходимо смочь использовать клавиши со стрелками для редактирования текущей команды.
Если Вы определенно хотите dash
плюс редактирование командной строки и история, можно использовать rlwrap
:
rlwrap dash
Предложение:
rlwrap -cmD2 dash
Использовать rlwrap
, Вы будете иметь к:
sudo apt-get install rlwrap