Unixプロンプトでバックスラッシュを使用してコマンドを分割するときに発生する問題

Unixプロンプトでバックスラッシュを使用してコマンドを分割するときに発生する問題

私はしばしば、スペースとバックスラッシュの組み合わせ()を使用して、コマンドとその引数を読みやすくするために別々の行に分割します。

/home/user> ls -ltra \
> file1.txt \
> file2.txt

最近、私は端末ウィンドウで同様の形式のコマンドを使用しています。同じファイルをさまざまな命令に使用する予定だったので、命令全体をマウスで強調\コピーして開いているエディタに貼り付けることにしました。
残念ながら、

  1. マウスで2つのファイルラインを強調表示しました。
  2. 同じ端末ウィンドウに誤って貼り付けた場合:

このように:

/home/user> > /home/user/file1.txt
> > /home/user/file2.txt

彼らのシステムは私がファイルを上書きしていると思いました。データが失われます。幸いバックアップがあります!

今私の質問は次のとおりです。

分割コマンドの先頭に>記号以外の記号を使用するように端末セッションを再構成できますか?そのような恐ろしい結果はありません。

例:

/home/user> ls -ltra \
# file1.txt \
# file2.txt

修正する

私はSolarisサーバーでKornシェル(/usr/bin/ksh)を使用しています。 Kornは会社の基本的なシェルです。

ベストアンサー1

sh互換性のあるシェル(たとえば)を使用している場合は、bashこの>プロンプトを「セカンダリプロンプト」と呼びます。通常のプロンプトを設定するPS2のと同様に、変数の値に設定されます。PS1

次のように簡単に変更できます#

PS2='# '

~/.bashrcこれをあなたの(またはあなたが使用しているシェルに対応するもの)に入れることもできます。

おすすめ記事