端末で次のコマンドを実行しました。
$ while read i
> do
> echo $i
> done
4
4
ただし、上矢印キー機能を使用してコマンドを再実行しようとすると、次のコマンドの一部のみが表示されます。
$ while read i
KSHで上矢印を使用して全体のwhileループを印刷するには?
答え1
元のkshの行編集は非常に限られていました。 zshやbashなどの「クローン」のいずれかを使用できます。
ksh93の場合、またはモードの代わりにvi
編集モード()を使用すると、複数行のコマンドを呼び出してもksh -o vi
emacs
gmacs
働く、改行はとしてレンダリングされますが、^J
これはpdksh
すべての編集モードとその派生モードでも得られます。
Ctrl+VCtrl+J1行に複数行のコードを入力してから、emacs
後でモードでも呼び出すためにこれらの改行文字を入力することもできます。
別のオプションは、fc
実際のテキストエディタで前の行を編集することです。
fc while
include$FCEDIT
後に実行します。その後、エディタで保存して終了します。ex
while
¹特定の動作(入力として使用または呼び出し)に依存する場合、より近い動作をさせるモックモードzsh
もあります。ksh
ksh
ksh
emulate ksh
zsh
ksh