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

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

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

分類Dev

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

Related 関連記事

  1. 1

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

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

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

  8. 8

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

  9. 9

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

  10. 10

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

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

ホットタグ

アーカイブ