~/.bash_profile
に変数定義(export
ステートメントなどを使用しているかどうかにかかわらず)を配置した後に再起動する必要があると仮定しています。あなただけの再修正を行った後、source
ファイルする必要があります。
source ~/.bash_profile
以上のポータブル版:
. ~/.bash_profile
どちらの文が(再)されますが、現在のシェルの中に、そのファイル内の任意の定義をロードします。ソーシングはスクリプトを実行するのと同じではありません。スクリプトを実行しているサブシェルではなく、呼び出し元のシェル自体の環境を変更します。
~/.bash_profile
のようなファイルには、シェルで混乱する多くの他の定義と設定が含まれている場合があります。 @JeremiahMegelが示唆しているように、必要な変数だけで小さな(一時的な)スニペットを作成し、代わりにソースを作成する方が良いでしょう。
あなたは、コマンドラインから実行する単一プロセスの環境を変更したい場合は、同じコマンドラインで変数を設定することができます。
VAR=value /usr/bin/gedit
これは、環境変数VAR
セットでgedit
を実行しますvalue
に変更されますが、その1つの子プロセスに対してのみです。
残念ながら、デスクトップアプリケーションはそれよりも静的です。メニューに表示されるほとんどのグラフィカルアプリケーションは、/usr/share/applications
のようなフォルダ内のファイル.desktop
で表されます。これらのファイルは、期待している変数がほとんどない環境で実行されます。それらは絶対パスに依存しており、ほとんどの設定は、.desktop
ファイルを独自のセットアップを実行するスクリプトに指定することによって行われます。これらのファイルの一部を個別に変更することができますが、そうする必要がありますが、そのようにすることはお勧めしません。デスクトップ上のグラフィカルアプリケーションを使いこなす場合は、変更する予定のデスクトップファイルのコピーを~/.local/share/applications
にするか、それと同等のものをシステム上に作成することをおすすめします。これらのファイルは/usr/share/applications
にあるものより優先され、あなたにのみ影響します。
ファイルに値を保存することはできますか? –