たとえば、

たとえば、

端末を開き、変数セットを入力するコマンドを実行したいと思います。

どうすればいいですか? xfce4端末を使用しています。端末を開くときにコマンドを実行するために使用されるコマンドラインパラメータ "--command"があります。しかし、argはソースコマンドの実行を許可しないようです。

たとえば、

ソース環境変数で端末を開くには、端末の --command フラグを使用します。

xfce4-terminal \
--command 'source somefile' \
--hold &

しかし、エラーが発生します。 「ソース」サブプロセスを実行できません。そのファイルやディレクトリはありません。

これは、xfce4-terminalの希薄なマンページを読んだ後、自然に試してみます。

ファイルを取得するために新しい端末でbashを具体的に呼び出すのはどうですか?

xfce4-terminal \
--command 'bash -c "source somefile \
--hold &

これにより source コマンドが実行されますが、完了すると端末は終了します。

フォーラムを検索してbashコマンドソースを実行するには、bashを呼び出す必要があることを確認したら、これを試すことができます。 (それは何ですか?bashインスタンスで端末を起動し、別のbashを呼び出してコマンドを実行します)

bash、bashでは、端末でbashを呼び出してコマンドを実行します。

xfce4-terminal \
--command 'bash -c "source somefile; bash"' \
--hold &

これにより、端末は開いて開いたままになりますが、ソース環境は除外されます。

愚かなようですが、フォーラムを検索した後、別の方法を試してみることができます。

bashを使用してソース環境でbashを呼び出す

xfce4-terminal \
--command 'bash -c "bash -c \"source somefile; some_command\""' \
--hold &

これは新しい端末から新しい環境を取得しますが、ソースcmdの実行が完了すると再び閉じます。(一部推測のみ)

bashを呼び出して「source somefile」を実行するsource_somefileというスクリプトを作成します。

xfce4-terminal \
--command 'source_somefile' \
--hold &

習慣。ソースcmdの実行が完了すると、端末は再び閉じます。

これは間違いなくうまくいくとは思わないかもしれませんが、ソースcmdをスクリプトに入れて、--commandフラグと一緒に端末を使用してスクリプトを実行すると、--holdフラグを使用して端末が機能しないようにすることもできます。ソースコマンドが実装を完了したら終了しますか?

bash -c 'source somefile'?スクリプトを実行してみてください。

いいえ:ソースcmdの実行が完了すると、端末は再び閉じます。

だから何できるxfce4-terminalのマンページを印刷し、秋夕の月の下の血の儀式でそれを燃やす以外にこれを行う必要がありますか?それからうんざりして…うんざりしています…

答え1

まずソースコードを入手してから端末を開きます(私は.bashに特化されていないポータブル端末を使用していますsource)。

. source_somefile && xfce4-terminal

端末は元の環境を継承します。たとえば、次のような場合:

$ cat /home/terdon/file
export my_var="foo"

次に、次のエイリアスを作成します。

alias my_profile='. /home/terdon/file && xfce4-terminal'

echo $my_varその後、エイリアスを実行すると、印刷する新しい端末が開きますfooexportこれを行うには変数を編集し、インポートするファイルのフルパスを使用する必要があります。

これを示すスクリーンショット

答え2

私は見たここ考えられる解決策。--disable-server結局のところ、フラグの使用はうまくいくかもしれません。

関連情報