スクリプトから永続的な環境変数を設定する正しい方法

mtyson

アプリフレームワークの非常に簡単なインストールプロセスを実行したいと思います。すべてが機能していますが、2つの環境変数を設定したいと思います。を更新しPATHHOME変数も設定したい

親プロセスに変数を設定できないことはわかっていますが、どうすればよいですか?私はユーザーに実行を要求したくありませんsource foo、私は彼らがただ実行することができてfoo install、そして行為が行われることを望みます

確かに、いくつかの方法がありますか?

編集:申し訳ありません-私は実際HOMEを意味するのではなくMY_FRAMEWORK_HOME変数を意味します!

ワイルドカード

$HOME変数は、一般的に、あなたは混乱とすべきものではありません。それはユーザーに依存します。ユーザーが突然別のホームディレクトリを持つことを望まないでしょう!(そうする場合は、に設定されている彼のホームディレクトリを編集/etc/passwdする必要がありrootます。もちろんこれにはアクセス許可が必要です。)

これ$PATHは別の問題であり、彼~/.bashrcまたはに設定する必要があります~/.bash_profileどちらを使用すべきかについてはさまざまな議論がありますが、ここでは取り上げません。

/var/myapp/binユーザーのパスに追加たいとします次の行を追加することでこれを行うことができます:

export PATH="$PATH:/var/myapp/bin"

ユーザーのに~/.bashrcそれがすでにある場合は行を追加することを避けながらこれを行う良い方法はstackexchangeで議論されていviます

ex -sc '$a
export PATH="$PATH:/var/myapp/bin"
.
$-,$!uniq
x' ~/.bashrc

この方法で複数の行を追加する場合、それらがすでに存在する場合にそれらを追加しないようにするための同じ安全性チェックは機能しないことに注意してください。そのためには別のロジックが必要になります。


別の行動方針を検討することもできます。コマンドバイナリへのシンボリックリンクをに追加します/usr/local/binこれは通常、すでにに含まれてい$PATHます。

したがって、上記の例のよう/var/myapp/binに、ユーザーのPATHに追加するとします。そもそもこれを実行する理由は/var/myapp/bin、ユーザーがコマンドラインから実行できるようにするためのコマンド(シェルスクリプトまたはバイナリは関係ありません)があるためです。これらのコマンドがmyapp_commandとであるとしましょうmyapp_othercommand

次のようなシンボリックリンクを作成することで、これらをPATHで使用できるようにすることができます。

ln -s /var/myapp/bin/myapp_command /usr/local/bin/myapp_command
ln -s /var/myapp/bin/myapp_othercommand /usr/local/bin/myapp_othercommand

の最初の引数ln -sはTARGETで、2番目の引数はターゲットを指すために作成するLINK名です。(詳細については、を参照してくださいman ln。)

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

TclスクリプトからWindows環境変数を設定する方法

分類Dev

スクリプトから環境変数(PATHなど)を設定する

分類Dev

VisualStudioスクリプトが環境変数を正しく設定しない

分類Dev

Pythonスクリプトを使用してposix(unix / linux)マシンで環境変数を永続的に設定する方法

分類Dev

cmd.exeから永続的な環境変数を設定します

分類Dev

cmake:スクリプトから環境変数を設定します

分類Dev

JenkinsのGroovyスクリプトから環境変数を設定します

分類Dev

JenkinsのGroovyスクリプトから環境変数を設定します

分類Dev

ルートの永続的な環境変数を設定するにはどうすればよいですか?

分類Dev

ルートの永続的な環境変数を設定するにはどうすればよいですか?

分類Dev

環境変数を永続的に設定する方法

分類Dev

環境変数を永続的に設定する方法

分類Dev

C#で環境変数を永続的に設定する方法

分類Dev

環境変数を永続的に設定する方法

分類Dev

Mac OSXで永続的な環境変数を設定する

分類Dev

GoogleColabで永続的な環境変数を設定する

分類Dev

WindowsXPで永続的な環境変数を設定する

分類Dev

Pythonスクリプトで環境変数を設定する

分類Dev

dataprocクラスターノードに環境変数を設定する正しい方法は何ですか?

分類Dev

PythonスクリプトでJenkins環境変数を設定する方法

分類Dev

コマンドプロンプトを使用して永続的な環境変数を設定します

分類Dev

環境変数がUnixシェルスクリプトで設定されていることを確認する簡潔な方法は何ですか?

分類Dev

環境変数を設定してから、Jenkins ScriptedPipelineでスクリプトを実行します

分類Dev

systemdサービスファイルのshスクリプトから環境変数を設定します

分類Dev

Linuxで永続的な環境変数をプログラムで設定する方法は?

分類Dev

configureスクリプトで環境変数が設定されているか確認しますか?

分類Dev

シェルスクリプトを使用してJava環境変数を設定する方法

分類Dev

シェルスクリプトから環境変数を移植可能に設定

分類Dev

アプリケーションプログラムの環境PATH変数を永続的に設定するにはどうすればよいですか?

Related 関連記事

  1. 1

    TclスクリプトからWindows環境変数を設定する方法

  2. 2

    スクリプトから環境変数(PATHなど)を設定する

  3. 3

    VisualStudioスクリプトが環境変数を正しく設定しない

  4. 4

    Pythonスクリプトを使用してposix(unix / linux)マシンで環境変数を永続的に設定する方法

  5. 5

    cmd.exeから永続的な環境変数を設定します

  6. 6

    cmake:スクリプトから環境変数を設定します

  7. 7

    JenkinsのGroovyスクリプトから環境変数を設定します

  8. 8

    JenkinsのGroovyスクリプトから環境変数を設定します

  9. 9

    ルートの永続的な環境変数を設定するにはどうすればよいですか?

  10. 10

    ルートの永続的な環境変数を設定するにはどうすればよいですか?

  11. 11

    環境変数を永続的に設定する方法

  12. 12

    環境変数を永続的に設定する方法

  13. 13

    C#で環境変数を永続的に設定する方法

  14. 14

    環境変数を永続的に設定する方法

  15. 15

    Mac OSXで永続的な環境変数を設定する

  16. 16

    GoogleColabで永続的な環境変数を設定する

  17. 17

    WindowsXPで永続的な環境変数を設定する

  18. 18

    Pythonスクリプトで環境変数を設定する

  19. 19

    dataprocクラスターノードに環境変数を設定する正しい方法は何ですか?

  20. 20

    PythonスクリプトでJenkins環境変数を設定する方法

  21. 21

    コマンドプロンプトを使用して永続的な環境変数を設定します

  22. 22

    環境変数がUnixシェルスクリプトで設定されていることを確認する簡潔な方法は何ですか?

  23. 23

    環境変数を設定してから、Jenkins ScriptedPipelineでスクリプトを実行します

  24. 24

    systemdサービスファイルのshスクリプトから環境変数を設定します

  25. 25

    Linuxで永続的な環境変数をプログラムで設定する方法は?

  26. 26

    configureスクリプトで環境変数が設定されているか確認しますか?

  27. 27

    シェルスクリプトを使用してJava環境変数を設定する方法

  28. 28

    シェルスクリプトから環境変数を移植可能に設定

  29. 29

    アプリケーションプログラムの環境PATH変数を永続的に設定するにはどうすればよいですか?

ホットタグ

アーカイブ