`PATH`環境変数を変更する正しい方法は何ですか?

ロドリゴ

PATH環境変数の変更(たとえば、「〜/ .bashrc」)に関しては、いくつかの異なる方法を見てきました。

PATH=$PATH:/new/path
PATH="$PATH:/new/path"
export PATH = $PATH:/new/path
export PATH = ${PATH}:/new/path
setenv PATH $PATH:/new/path

何の{ }ために?いつ" "必要ですか?いつ使用するexportsetenvところで、私のUbuntu 14.04は、のために手動で入力する必要はありませんexportが、それはのための1つを持っていますsetenvどうして?

コス

PATH環境変数を変更することになると(たとえば、「〜/ .bashrc」で)、私はそれを行ういくつかの異なる方法を見てきました

それらのいくつかは有効な設定方法です$PATHが、いくつかは有効な設定方法ではありません$PATHほとんどが同じ漁獲量を持ち、一部は範囲が異なります。

構文について言えば(Bash /互換性のあるシェルで);

  • PATH=$PATH:/new/path:大丈夫ですが、「/ new / path」のスペースがある場合はエスケープする必要があります。
  • PATH="$PATH:/new/path":大丈夫です。「/ new / path」のスペースをエスケープする必要はありません。
  • export PATH = $PATH:/new/path:代入演算子の前後にスペースを入れることはできないので、問題ありません(そして、「/ new / path」のスペースをエスケープする必要があります)。
  • export PATH = ${PATH}:/new/path:と同じexport PATH = $PATH:/new/path;
  • setenv PATH $PATH:/new/pathsetenvあるcshビルトイン。PATH=$PATH:/new/path;と同じである必要があります。

一重引用符/二重引用符はどちらも、Bashが空白で壊れるのを防ぎます。一重引用符は、Bashがパラメーター展開、コマンド置換、または算術展開を実行することを防ぎ、Bashに囲まれた文字列を文字通りに解釈するように強制します。代わりに、二重引用符は、Bashがパラメーター展開、コマンド置換、または算術展開を実行することを妨げません。2番目のケースでは、$PATH;でパラメーター展開を許可するために二重引用符が必要です。

変数に続く文字が変数名の有効な文字である場合は中括弧が必要ですが:、そうではないため、4番目の場合は実際には必要ありません。

var=valueexport var=valueの違いといえばsetenv var value;

  • var=value$var現在のシェルのの値を設定しますフォークされたシェル/プロセスは変数もその値も継承しません。
  • export var=value$var現在の環境での値を設定しますフォークされたシェル/プロセスは変数とその値を継承します。
  • setenv PATH $PATH:/new/path:と同じexport var=value;
$ foo=bar
$ bash
$ echo $foo

$ exit
exit
$ export foo=bar
$ bash
$ echo $foo
bar

ちなみに、私のUbuntu 14.04は、のために手動で入力する必要はありませんexportが、それはのための1つを持っていますsetenvどうして?

と入力man setenvすると、の出力が得られますman 3 setenv。これはsetenv()、「Linuxプログラマーズマニュアル」からの関数の手動入力です。前に述べたように、setenvUbuntuにコマンドもBashにも組み込まれていませんが、;にsetenvsetenv組み込みがありcshます。

export代わり、内蔵し、実行する必要がありますそれについての情報を取得するためにバッシュhelp export

$ help export
export: export [-fn] [name[=value] ...] or export -p
    Set export attribute for shell variables.

    Marks each NAME for automatic export to the environment of subsequently
    executed commands.  If VALUE is supplied, assign VALUE before exporting.

    Options:
      -f    refer to shell functions
      -n    remove the export property from each NAME
      -p    display a list of all exported variables and functions

    An argument of `--' disables further option processing.

    Exit Status:
    Returns success unless an invalid option is given or NAME is invalid.

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

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

編集
0

コメントを追加

0

関連記事

PythonでLinux環境変数を設定解除する正しい方法は何ですか?

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

macOS:PATH環境変数を変更する方法は?

表示言語を決定するための正しい環境変数は何ですか?

CatalinaでPATH環境変数を変更するにはどうすればよいですか?

Expressに環境/構成変数を保存するための好ましい方法は何ですか?

AWS Lambdaで環境変数を変更する方法はありますか?

HaskellでRWST環境変数を変更する方法は?

環境変数として使用する場合のprivate_keyの正しい形式は何ですか?

Herokuに設定されている環境変数をVueアプリが正しく読み取るための最良の方法は何ですか?

環境変数が存在するかどうかを確認するための良い方法は何ですか?

Path.Combine()で環境変数を使用する方法は?

Juju環境を共有する正しい方法は何ですか?

AWS CDKで本番環境と開発環境を特定する正しい方法は何ですか?

環境変数とは正確には何ですか?

Git BashがPATH環境変数で定義されている正しいJavaパスを使用しないのはなぜですか?

Python:PATH環境変数を変更するためのプラットフォームに依存しない方法

JavaParserを使用して変数を解析する正しい方法は何ですか?

WindowsでJava環境変数を変更する方法

vbsで環境変数を非永続的に変更する方法

端末から eclipse を起動できないのはなぜですか? $PATH 環境変数を変更する

PowerShellで環境変数を変更するにはどうすればよいですか?

シェル環境変数をswiftで変更するにはどうすればよいですか?

Laravel 5でENV変数を設定する正しい方法は何ですか?

catch句でe変数を宣言する正しい方法は何ですか

C ++で変数を初期化する正しい方法は何ですか

Jenkinsfileの環境変数で環境変数を使用するにはどうすればよいですか?

ロケール環境変数を変更するにはどうすればよいですか?

文字列に変数を追加する正しい方法は何ですか?

TOP 一覧

  1. 1

    Unity:未知のスクリプトをGameObject(カスタムエディター)に動的にアタッチする方法

  2. 2

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  3. 3

    Ansibleで複数行のシェルスクリプトを実行する方法

  4. 4

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  5. 5

    Crashlytics:コンパイラー生成とはどういう意味ですか?

  6. 6

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  7. 7

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  8. 8

    Chromeウェブアプリのウェブビューの高さの問題

  9. 9

    モーダルダイアログを自動的に閉じる-サーバーコードが完了したら、Googleスプレッドシートのダイアログを閉じます

  10. 10

    Windows 10の起動時間:以前は20秒でしたが、現在は6〜8倍になっています

  11. 11

    Reactでclsxを使用する方法

  12. 12

    ファイル内の2つのマーカー間のテキストを、別のファイルのテキストのセクションに置き換えるにはどうすればよいですか?

  13. 13

    MLでのデータ前処理の背後にある直感

  14. 14

    グラフからテーブルに条件付き書式を適用するにはどうすればよいですか?

  15. 15

    Pythonを使用して同じ列の同じ値の間の時差を取得する方法

  16. 16

    mutate_allとifelseを組み合わせるにはどうすればよいですか

  17. 17

    ネットワークグラフで、ネットワークコンポーネントにカーソルを合わせたときに、それらを強調表示するにはどうすればよいですか?

  18. 18

    テキストフィールドの値に基づいて UIslider を移動します

  19. 19

    BLOBストレージからデータを読み取り、Azure関数アプリを使用してデータにアクセスする方法

  20. 20

    PowerShellの分割ファイルへのヘッダーの追加

  21. 21

    ソートされた検索、ターゲット値未満の数をカウント

ホットタグ

アーカイブ