コマンドの出力がある場合は、コマンドの後に新しい行を印刷したいです(ターミナルがスクロールを開始した後に読みやすくなることを願っています)。
私はこれを見つけました:
precmd() {
precmd() {
print ""
}
}
これは機能しますが、明らかに各コマンドの後に行を印刷します。
これ:
precmd () {
exec 2>&- >&-
lastline=$(tail -1 ~/.command.out)
sleep 0.1
exec > /dev/tty 2>&1
}
preexec() {
exec > >(tee ~/.command.out&)
}
修正しようとしましたが、修正しなくても出力が「破損」してvimを使用できなくなりました。
答え1
似たようなものをお探しですか?スクリプトは最初の引数として実行され、コマンドがstdoutに何でも出力すると、改行文字も印刷されます。
#!/bin/bash
if [[ $($1 | tee /dev/tty) ]]; then
echo
fi