新しい konsole ターミナルとそれを開いた後のソース ファイルを開こうとしていました。次のコマンドを試しました。
konsole -T hello --noclose -e "source file"
ファイルをソースした後もターミナルを開いたままにしたいのですが、--noclose
新しいコンソールが閉じてしまいます。コンソールを開いたままにするにはどうすればいいでしょうか
答え1
ソース ファイルを実行した後、対話型セッションが必要になると思います。
konsole は system() または popen() 呼び出しを使用して -e パラメータを実行します。source は bash 組み込み関数なので、そのまま呼び出すことはできません。
bash にコマンドを起動して対話型セッションを開始するように指示するのは困難です。--init-file および --rc-file オプションがありますが、これらは通常の設定ファイルの代わりに使用されます。これは不便かもしれません。
このシェル スクリプトが役に立つと思います。
#!/usr/bin/env bash
source file
exec bash
これを「script.sh」ファイルに入れて実行可能にし、そのように起動します。
# Edit script.sh
chmod +x script.sh
konsole -e ./script.sh
ファイルにいくつかの変数を設定したと思います。対話型セッションで使用する場合はエクスポートする必要があります。
export VAR=value
または、対話型セッションが必要ない場合は、このスクリプトを使用できます。
#!/usr/bin/env bash
source file
echo "Press enter to exit"
read
そうですね。konsole にもバグがあるかもしれません。おそらく報告したほうがいいでしょう。