Bashのすべてのコマンドの後に垂直空間を追加するには?
少し垂直空間を探してください。いいえ完全なライン。行の高さの1/4または1/3が良いです。
[編集]追加するスペースは、コマンド+出力パッケージの後にのみあります。コマンドと関連出力の間の行は依然としてデフォルト間隔を使用します。例:doはls
通常の行間隔を使用して出力を表示します。出力後にのみ、次のコマンド+出力とコマンド+出力のペアを明確に区別するために間隔が増えます。
答え1
これはbashオプションではなく、「ターミナルアプリケーション」機能/構成オプションに近いです。 Bashは、端末に関連するフォントやスペースについて知らない。
例:Mac Os Xのターミナルプログラムでは、行間のスペースを増やすことができます。http://osxdaily.com/2015/01/05/increase-line-spacing-terminal-mac-os-x/
これがあなたが探しているものであれば、ターミナルプログラムをチェックしてそれを設定できることを確認する必要があります。
編集:コマンド自体の出力の後にスペースを追加するには、次のようにします。
export PS1='\n\[\033[01;31m\]\u@\H:\[\033[02;36m\] \w \$\[\033[00m\] '
完全な行(\ n)を追加しますが、存在しないよりも良い場合があります。
答え2
私はこれらのラインに沿ってサポートしている端末エミュレータを知りません。端末(またはグラフィック端末エミュレータ)の基本的な概念は、テキストグリッドを使用することです。画面は同じサイズのセル行列に分割され、各セルには文字が含まれています。単純なテキストストリームを印刷できますが、グリッド内の任意の場所にカーソルを置いてセルの内容を上書きすることもできます。
2つの隣接セルを占めるCJK文字などのいくつかの例外があり、xtermは通常の文字を2倍の幅および/または2倍の高さで印刷することもサポートしています(ターミナルテストを除いてどこでも使用されていることを見たことはありません) )。しかし、まだソートされています。基本グリッド。
あなたが求めるのは、概念全体を最初から再設計することです。現在存在しない方法でランダムな位置決めを許可し、以前に印刷された文字と部分的に重なる位置に文字が印刷される場合に発生する状況を決定します。
これにより、限界利得のために端末エミュレータが提供するよりも複雑なシステムが生成される。
コマンド出力の終わりを目立たせるために私が推奨できるのは、ヒントに特別な色(太字、イタリック体、または類似のフォント)を使用することです。
答え3
ファイルに次の内容を入れます。
command1()
{
if [ "$BASH_COMMAND" != command2 ]
then
command_flag=1
fi
return 0
}
trap command1 debug
command2()
{
if [ "$command_flag" ]
then
echo ""
fi
command_flag=
}
PROMPT_COMMAND=command2
command1
名前を変更して入力する可能性の低い値に変更することをお勧めしますcommand2
。command_flag
それからsource
そのファイル。 (または上記の内容をあなたのものに入れてください.bashrc
。)
コマンドを入力するたびに、コマンドはこの関数をtrap command1 debug
呼び出します。command1
このcommand1
関数は、command_flag
コマンドが存在することを示すフラグを設定します。 (command1
をクリックしてもこの関数は呼び出されませんEnter。)
PROMPT_COMMAND=command2
command2
シェルがプロンプトを発行しようとするたびに、PS1
この関数が呼び出されるようにします。このcommand2
関数は、command_flag
フラグをチェックしてコマンドを入力したかどうかだけEnter。コマンドを入力すると、画面に空白行が記録されますcommand_flag
。command2
(1行の垂直スペースを小さくする方法がわかった場合は、コマンドを変更してください。)をecho
クリックするだけでは設定されません。これにより、次のプロンプトが正しく完了するようにフラグがクリアされます。Entercommand_flag
この関数はcommand1
シェルが実行されたcommand2
ときに呼び出されるため、command1
特別なケースとして処理する必要があります(コマンドとは見なされません)。