シェルスクリプトを使用して、すでに開いている端末でコマンドを実行する方法

そう

script.shターミナルを開いてから、この開いたターミナルでいくつかのコマンドを実行することになっているシェルを実行しています。ターミナルは起動しますが、このターミナルでは次のコマンドが実行されません。誰かがこれを通してターミナルを開いた後、script.sh他のいくつかのコマンドを実行する方法を教えてくださいこれは私のscript.shファイルです:

#!/bin/bash
gksu -u userA /usr/bin/gnome-terminal PACKAGE_PATH=/home/userA/package1; cd /home/userA/scripts

その最初のコマンドはgksu -u userA /usr/bin/gnome-terminal、端末のインスタンスを開き、私は2つの次のコマンドを実行する方法を求めているPACKAGE_PATH=/home/userA/package1cd /home/userA/scripts使用して、この開いた端末インスタンスでscript.sh

編集:

ムルの提案を適用した後、これは私が使用したものです:gnome-terminal -x sudo -u userA bash -c 'PPACKAGE_PATH=/home/userA/package1:/home/userA/package2:$PACKAGE_PATH; cd /home/userA/scripts; source varset.sh; bash'しかし、それは私がそれを置いたのと同じ順序で実行されません。

ターミナルに表示される最初の行は、variables.shにあるメッセージです(ただし、これは実行する3番目のコマンドである必要があります)。もう1つは、これを使用して設定する必要のある変数が設定されていないことvarset.shです。私はecho $ var1(variables.shにあります)は何も表示しません。これは、変数が設定されていないことを意味します。variables.shで機能するのはエコーメッセージだけです。

ディレクトリに表示される2行目は、に設定されている端末の作業ディレクトリ/home/userA/scriptsです。

3つ目PACKAGE_PATH=PACKAGE_PATH=/home/userA/package1:/home/userA/package2:$PACKAGE_PATHは、$ PACKAGE_PATH変数を設定するこのコマンドが機能していないことです。

したがって、誰かがこのコマンドをこの順序で実行する方法と、最初のコマンドの変数とvarset.shシェルファイルの変数を設定する方法をアドバイスしてください

ムル

シェルを開いたままにする方法として、次のことを提案しました。

gnome-terminal -x sudo -u userA bash -c 'PACKAGE_PATH=/home/userA/package1:/home/userA/package2:$PACKAGE_PATH; \
  cd /home/userA/scripts; \
  source varset.sh; \
  bash'

ただし、最後のものは、エクスポートされていない場合bash$PACKAGE_PATHまたはからの割り当ての影響を受けsource varset.shません。

そう:

gnome-terminal -x sudo -u userA bash -c 'export PACKAGE_PATH=/home/userA/package1:/home/userA/package2:$PACKAGE_PATH; \
  cd /home/userA/scripts; \
  source varset.sh; \
  bash'

varset.shトリックを行う必要が輸出しました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

シェルスクリプトを実行して2つの端末を開き、その中でコマンドを実行する

分類Dev

bash-複数の端末を開いて個別のコマンドを実行するシェルスクリプト

分類Dev

シェルスクリプトを使用してgnuplotでコマンドを実行する方法は?

分類Dev

4つの端末を開き、それぞれでコマンドを実行するシェルスクリプトを作成するにはどうすればよいですか?

分類Dev

シェルスクリプトを使用して新しい端末に入力を送信する方法

分類Dev

makeコマンドを実行した後、リモートマシンで実行されているシェルスクリプトが終了します

分類Dev

3つの端末を起動し、それぞれで一連のコマンドを実行するシェルスクリプトを作成するにはどうすればよいですか?

分類Dev

DockerfileでCMDコマンドを実行する前に、簡単なシェルスクリプトを実行してください

分類Dev

`find`と` xargs`を使用してシェルスクリプトで複数のコマンドを実行する

分類Dev

シェルスクリプト:画面を実行し、いくつかの画面を開いて、それぞれでコマンドを実行します

分類Dev

Perlスクリプトでシステムコマンドを実行しているときにワイルドカード文字を使用する

分類Dev

UnixコンソールまたはMac端末でシェルスクリプトを実行する方法

分類Dev

シェル スクリプトを使用してリモート マシンで Linux コマンドを実行する方法

分類Dev

連続するコマンドをスクリプトに結合し、MAC端末で実行します

分類Dev

Bashスクリプトの書き方2つの異なるタブ付き端末で端末を開き、いくつかのコマンドを別々にタブで実行するコマンドは何ですか?

分類Dev

端末で gnome-terminal コマンドを使用してジオメトリ オプションを取得するにはどうすればよいですか?

分類Dev

すでに開いている特定の端末でシェルコマンドを起動するにはどうすればよいですか?

分類Dev

Pythonスクリプトから端末に実行可能コマンドとしてテキストを出力することは可能ですか?

分類Dev

シェルスクリプト/ VimがVSCode統合端末で実行されているかどうかを確認する方法は?

分類Dev

コマンドをスクリプトでsudoとして実行しないようにする方法

分類Dev

端末の複数のインスタンスを開いてスクリプトを数回実行する代わりに、スレッドを使用して複数のTCPクライアントを「生成」する方法は?

分類Dev

あるマシンでresource(.txtファイル)を使用してssh上でシェルスクリプトを実行し、別のマシンでスクリプトを実行するにはどうすればよいですか?

分類Dev

LinuxシェルスクリプトでPythonコマンドを並行して実行する

分類Dev

新しいシェルを開始し、コマンドの実行を継続するbashスクリプト

分類Dev

rootとして実行されているシェルスクリプトからユーザーアカウントを入力してコマンドを実行するにはどうすればよいですか?

分類Dev

シェルスクリプトを使用してシェルコマンドを実行する

分類Dev

シェルスクリプトからマシン上で特定のポートが開いているかどうかを確認し、それに基づいてアクションを実行するにはどうすればよいですか?

分類Dev

リモートマシンで変数を使用してsshおよびシェルスクリプトでコマンドを実行する

分類Dev

リモートマシンで変数を使用してsshおよびシェルスクリプトでコマンドを実行する

Related 関連記事

  1. 1

    シェルスクリプトを実行して2つの端末を開き、その中でコマンドを実行する

  2. 2

    bash-複数の端末を開いて個別のコマンドを実行するシェルスクリプト

  3. 3

    シェルスクリプトを使用してgnuplotでコマンドを実行する方法は?

  4. 4

    4つの端末を開き、それぞれでコマンドを実行するシェルスクリプトを作成するにはどうすればよいですか?

  5. 5

    シェルスクリプトを使用して新しい端末に入力を送信する方法

  6. 6

    makeコマンドを実行した後、リモートマシンで実行されているシェルスクリプトが終了します

  7. 7

    3つの端末を起動し、それぞれで一連のコマンドを実行するシェルスクリプトを作成するにはどうすればよいですか?

  8. 8

    DockerfileでCMDコマンドを実行する前に、簡単なシェルスクリプトを実行してください

  9. 9

    `find`と` xargs`を使用してシェルスクリプトで複数のコマンドを実行する

  10. 10

    シェルスクリプト:画面を実行し、いくつかの画面を開いて、それぞれでコマンドを実行します

  11. 11

    Perlスクリプトでシステムコマンドを実行しているときにワイルドカード文字を使用する

  12. 12

    UnixコンソールまたはMac端末でシェルスクリプトを実行する方法

  13. 13

    シェル スクリプトを使用してリモート マシンで Linux コマンドを実行する方法

  14. 14

    連続するコマンドをスクリプトに結合し、MAC端末で実行します

  15. 15

    Bashスクリプトの書き方2つの異なるタブ付き端末で端末を開き、いくつかのコマンドを別々にタブで実行するコマンドは何ですか?

  16. 16

    端末で gnome-terminal コマンドを使用してジオメトリ オプションを取得するにはどうすればよいですか?

  17. 17

    すでに開いている特定の端末でシェルコマンドを起動するにはどうすればよいですか?

  18. 18

    Pythonスクリプトから端末に実行可能コマンドとしてテキストを出力することは可能ですか?

  19. 19

    シェルスクリプト/ VimがVSCode統合端末で実行されているかどうかを確認する方法は?

  20. 20

    コマンドをスクリプトでsudoとして実行しないようにする方法

  21. 21

    端末の複数のインスタンスを開いてスクリプトを数回実行する代わりに、スレッドを使用して複数のTCPクライアントを「生成」する方法は?

  22. 22

    あるマシンでresource(.txtファイル)を使用してssh上でシェルスクリプトを実行し、別のマシンでスクリプトを実行するにはどうすればよいですか?

  23. 23

    LinuxシェルスクリプトでPythonコマンドを並行して実行する

  24. 24

    新しいシェルを開始し、コマンドの実行を継続するbashスクリプト

  25. 25

    rootとして実行されているシェルスクリプトからユーザーアカウントを入力してコマンドを実行するにはどうすればよいですか?

  26. 26

    シェルスクリプトを使用してシェルコマンドを実行する

  27. 27

    シェルスクリプトからマシン上で特定のポートが開いているかどうかを確認し、それに基づいてアクションを実行するにはどうすればよいですか?

  28. 28

    リモートマシンで変数を使用してsshおよびシェルスクリプトでコマンドを実行する

  29. 29

    リモートマシンで変数を使用してsshおよびシェルスクリプトでコマンドを実行する

ホットタグ

アーカイブ