ソフトウェアのインストールをカスタマイズする場合、多くの場合、環境変数の構成が必要になります。以下に、環境変数を構成するさまざまな方法を示します。
次の例では、使用する環境は次のとおりです。
環境変数を表示する方法は次のとおりです:
export
コマンドを使用して、現在のシステムで定義されているすべての環境変数を表示します。 echo $PATH
コマンドを使用して、PATH
環境変数の現在の値を出力します。 これら 2 つのコマンドを実行すると、次のような効果が得られます:
リーリーPATH
変数は、コマンドを実行するための検索パスを定義します。異なるパスを区切るには、コロン :
を使用します。export
を使用して定義する場合は、二重引用符を追加できます。追加しないでください。
使用export
命令直接修改PATH
的值,配置MySQL进入环境变量的方法:
export PATH=/home/uusama/mysql/bin:$PATH # 或者把PATH放在前面 export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
$PATH
部分,避免覆盖原来配置通过修改用户目录下的~/.bashrc
文件进行配置:
vim ~/.bashrc # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
source ~/.bashrc
生效PATH
定义,则可能不生效和修改~/.bashrc
文件类似,也是要在文件最后加上新的路径即可
vim ~/.bash_profile # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
source ~/.bash_profile
生效~/.bash_profile
文件,则可以编辑~/.profile
文件或者新建一个该方法是修改系统配置,需要管理员权限(如root)或者对该文件的写入权限:
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑 chmod -v u+w /etc/bashrc vim /etc/bashrc # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
source /etc/bashrc
生效该方法修改系统配置,需要管理员权限或者对该文件的写入权限,和vim /etc/bashrc
类似:
# 如果/etc/profile文件不可编辑,需要修改为可编辑 chmod -v u+w /etc/profile vim /etc/profile # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
source /etc/profile
生效该方法是修改系统环境配置文件,需要管理员权限或者对该文件的写入权限:
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑 chmod -v u+w /etc/environment vim /etc/profile # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
source /etc/environment
が有効になります環境変数のさまざまな構成方法が上にリストされていますが、Linux はこれらの構成をどのようにロードするのでしょうか?どのような順序でロードされますか?
特定のロード順序により、同じ名前の環境変数定義が上書きされたり、有効にならなくなったりします。
環境変数は、ユーザー定義の環境変数とシステムレベルの環境変数に単純に分けることができます。
~/.bashrc
、~/.profile
(一部のシステムは: ~/.bash_profile
) /etc/bashrc
、/etc/profile
(一部のシステムは: /etc/bash_profile
)、/ etc /環境
さらに、ユーザー環境変数では、システムは最初に ~/.bash_profile
(または ~/.profile
) ファイルを読み取ります。 ~/.bash_login
を読み取り、これらのファイルの内容に基づいて ~/.bashrc
を読み取ります。
为了测试各个不同文件的环境变量加载顺序,我们在每个环境变量定义文件中的第一行都定义相同的环境变量UU_ORDER
,该变量的值为本身的值连接上当前文件名称。
需要修改的文件如下:
在每个文件中的第一行都加上下面这句代码,并相应的把冒号后的内容修改为当前文件的绝对文件名。
export UU_ORDER="$UU_ORDER:~/.bash_profile"
修改完之后保存,新开一个窗口,然后echo $UU_ORDER
观察变量的值:
uusama@ubuntu:~$ echo $UU_ORDER $UU_ORDER:/etc/environment:/etc/profile:/etc/bash.bashrc:/etc/profile.d/test.sh:~/.profile:~/.bashrc
可以推测出Linux加载环境变量的顺序如下:
由上面的测试可容易得出Linux加载环境变量的顺序如下,:
系统环境变量 -> 用户自定义环境变量
/etc/environment -> /etc/profile -> ~/.profile
打开/etc/profile
文件你会发现,该文件的代码中会加载/etc/bash.bashrc
文件,然后检查/etc/profile.d/
目录下的.sh
文件并加载。
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1)) # and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). if [ "$PS1" ]; then if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then # The file bash.bashrc already sets the default PS1. # PS1='\h:\w\$ ' if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi else if [ "`id -u`" -eq 0 ]; then PS1='# ' else PS1='$ ' fi fi fi if [ -d /etc/profile.d ]; then for i in /etc/profile.d/*.sh; do if [ -r $i ]; then . $i fi done unset i fi
其次再打开~/.profile
文件,会发现该文件中加载了~/.bashrc
文件。
# if running bash if [ -n "$BASH_VERSION" ]; then # include .bashrc if it exists if [ -f "$HOME/.bashrc" ]; then . "$HOME/.bashrc" fi fi # set PATH so it includes user's private bin directories PATH="$HOME/bin:$HOME/.local/bin:$PATH"
从~/.profile
文件中代码不难发现,/.profile
文件只在用户登录的时候读取一次,而/.bashrc
会在每次运行Shell
脚本的时候读取一次。
#可以自訂一個環境變數文件,例如在某個專案下定義uusama.profile
,在這個文件中使用export
定義一系列變量,然後在 ~/.profile
檔案後面加上:sourc uusama.profile
,這樣你每次登陸都可以在Shell腳本中使用自己定義的一系列變數。
也可以使用alias
指令定義一些指令的別名,例如alias rm="rm -i"
(雙引號必須),並且把這個程式碼加入 ~/.profile
中,這樣你每次使用rm
指令的時候,都相當於使用rm -i
指令,非常方便。
以上が初心者が知っておくべき Linux 環境変数の設定に関する完全ガイド...の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。