私はLinux Mint 19.03を使用しています
まず第一に、私のこの質問が重複していると思われる可能性のある質問のほとんどを私は読んだことを保証します。
ここで、基本的には、ターミナル ウィンドウに何かを入力して新しいターミナル ウィンドウを開き、コマンドを実行したいと思います。
このようなもの:
[the part I am asking of] "echo $PATH; read"
このコードは新しいターミナルを開き、$PATH 変数を表示して読み取る必要があります。これはターミナルを停止するためだけです。
x-terminal-emulator -e
または を 試してみました x-terminal-emulator -c
が -x
、これを正しく実行することはできませんでした。同様の質問に対するこの SE のすべての回答は両方とも古い回答であり、-e または -x を使用していましたが、それらのオプションは非推奨であると記載されています。
では、これを実現する最も適切な方法は何でしょうか?
ありがとう。
答え1
x-terminal-emulator
シェルは単独では起動しません。この-e
オプションで起動できるのは実行可能ファイルだけです。
echo
は実行可能ファイル ( /bin/echo
)として使用できますが、 がないread
とbash
内部コマンドは失敗しますbash
。したがって、新しいウィンドウへの出力はウィンドウを開くよりも速く行われ、 がread
失敗すると、ウィンドウは表示される前に閉じられます。
これはうまくいくでしょう:
x-terminal-emulator -e "bash -c 'echo $PATH; read'"
ここで、シェルx-terminal-emulator
が起動しbash
、 が実行されますecho $PATH; read
。および は内部コマンドとしてecho
特にread
使用できるため、コマンドは失敗せず、入力を待機し、キーが押されるまでウィンドウが開いたままになります。bash
read