


6 ways to configure Linux environment variables, recommended to collect!
This article brings you six methods of configuring environment variables in Linux. I hope it will be helpful to you.
Linux environment variable configuration
When customizing software installation, it is often necessary to configure environment variables , various configuration methods for environment variables are listed below.
The environment description of all the examples below is as follows:
System: Ubuntu 14.0
User name: uusama
Need to configure the MySQL environment variable path:/home/ uusama/mysql/bin
Linux reading environment variables
How to read environment variables:
-
The export command displays all environment variables defined by the current system
echo $PATH command outputs the value of the current PATH environment variable
This The effect of executing the two commands is as follows
uusama@ubuntu:~export declare -x HOME="/home/uusama" declare -x LANG="en_US.UTF-8" declare -x LANGUAGE="en_US:" declare -x LESSCLOSE="/usr/bin/lesspipe %s %s" declare -x LESSOPEN="| /usr/bin/lesspipe %s" declare -x LOGNAME="uusama" declare -x MAIL="/var/mail/uusama" declare -x PATH="/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" declare -x SSH_TTY="/dev/pts/0" declare -x TERM="xterm" declare -x USER="uusama" uusama@ubuntu:~ echo $PATH /home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
The PATH variable defines the search path for running the command. Different paths are separated by colon:. When using export definition, you can add double quotes or not.
Linux environment variable configuration method one: export PATH
Use the export command to directly modify the value of PATH and configure MySQL to enter the environment variable:
export PATH=/home/uusama/mysql/bin:PATH # 或者把PATH放在前面 export PATH=PATH:/home/uusama/mysql/bin
Notes:
Effective time: effective immediately
Effective period: valid for the current terminal, invalid after the window is closed
Effective range: only for the current time Don’t forget to add the original configuration, that is, the $PATH part, to the user’s valid
configured environment variables to avoid overwriting the original configuration
Linux environment variable configuration method two: vim ~/.bashrc
Configure by modifying the ~/.bashrc file in the user directory:
vim ~/.bashrc # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
Notes:
Effective time: It will take effect when opening a new terminal with the same user, or manually source ~/.bashrc
Effectiveness period: valid forever
Validity range: valid only for the current user
If subsequent environment variable loading files overwrite the PATH definition, it may not take effect
Linux environment variable configuration method three: vim ~/.bash_profile
Similar to modifying the ~/.bashrc file, you also need to add the new path at the end of the file:
vim ~/.bash_profile # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
Notes:
Effective time: Use the same user to open a new It takes effect when using the terminal, or manually source /.bash_profile to take effect
Effectiveness period: permanently valid
Effectiveness scope: only valid for the current user
If there is no /.bash_profile file, Then you can edit the ~/.profile file or create a new
Linux environment variable configuration method four: vim /etc/bashrc
This method is Modifying the system configuration requires administrator rights (such as root) or write permission to the file:
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑 chmod -v u+w /etc/bashrc vim /etc/bashrc # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
Notes:
Effective time: Open a new terminal to take effect, or manually source /etc /bashrc takes effect
Effectiveness period: permanently valid
Validity scope: valid for all users
Linux environment variable configuration method five: vim /etc/ profile
This method modifies the system configuration and requires administrator rights or write permissions to the file. It is similar to vim /etc/bashrc:
# 如果/etc/profile文件不可编辑,需要修改为可编辑 chmod -v u+w /etc/profile vim /etc/profile # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin
Notes:
Effective time: Take effect when opening a new terminal, or manually source /etc/profile
Effectiveness period: Permanent
Effectiveness scope: Valid for all users
Linux environment variable configuration method six: vim /etc/environment
This method is to modify the system environment configuration file, which requires administrator rights or permission to the file. Write permission:
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑 chmod -v u+w /etc/environment vim /etc/profile # 在最后一行加上 export PATH=$PATH:/home/uusama/mysql/bin注意事项:
Effective time: Take effect when opening a new terminal, or manually source /etc/environment
Effective period: Permanent
Effective scope: For all users Effective
Linux environment variable loading principle analysis
The various configuration methods of environment variables are listed above, so how does Linux load these configurations? What about? In what order are they loaded?
Specific loading order will cause environment variable definitions with the same name to be overwritten or not take effect.
Classification of environment variables
Environment variables can be simply divided into user-defined environment variables and system-level environment variables.
User-level environment variable definition files: /.bashrc, /.profile (some systems are: /.bash_profile)
System-level environment variable definition files: /etc/bashrc, /etc/ profile (some systems are: /etc/bash_profile), /etc/environment
In addition, in the user environment variables, the system will first read the /.bash_profile (or ~/.profile) file. If there is no such file Then read ~/.bash_login, and then read ~/.bashrc based on the contents of these files.
How to test the loading order of Linux environment variables
为了测试各个不同文件的环境变量加载顺序,我们在每个环境变量定义文件中的第一行都定义相同的环境变量UU_ORDER,该变量的值为本身的值连接上当前文件名称。
需要修改的文件如下:
/etc/environment
/etc/profile
/etc/profile.d/test.sh,新建文件,没有文件夹可略过
/etc/bashrc,或者/etc/bash.bashrc
/.bash_profile,或者/.profile
~/.bashrc
在每个文件中的第一行都加上下面这句代码,并相应的把冒号后的内容修改为当前文件的绝对文件名。
export UU_ORDER="$UU_ORDER:~/.bash_profile"
修改完之后保存,新开一个窗口,然后echo $UU_ORDER观察变量的值:
uusama@ubuntu:~echoUU_ORDER $UU_ORDER:/etc/environment:/etc/profile:/etc/bash.bashrc:/etc/profile.d/test.sh:~/.profile:~/.bashrc
可以推测出Linux加载环境变量的顺序如下:
/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视频教程》
The above is the detailed content of 6 ways to configure Linux environment variables, recommended to collect!. For more information, please follow other related articles on the PHP Chinese website!

The five core components of the Linux operating system are: 1. Kernel, 2. System libraries, 3. System tools, 4. System services, 5. File system. These components work together to ensure the stable and efficient operation of the system, and together form a powerful and flexible operating system.

The five core elements of Linux are: 1. Kernel, 2. Command line interface, 3. File system, 4. Package management, 5. Community and open source. Together, these elements define the nature and functionality of Linux.

Linux user management and security can be achieved through the following steps: 1. Create users and groups, using commands such as sudouseradd-m-gdevelopers-s/bin/bashjohn. 2. Bulkly create users and set password policies, using the for loop and chpasswd commands. 3. Check and fix common errors, home directory and shell settings. 4. Implement best practices such as strong cryptographic policies, regular audits and the principle of minimum authority. 5. Optimize performance, use sudo and adjust PAM module configuration. Through these methods, users can be effectively managed and system security can be improved.

The core operations of Linux file system and process management include file system management and process control. 1) File system operations include creating, deleting, copying and moving files or directories, using commands such as mkdir, rmdir, cp and mv. 2) Process management involves starting, monitoring and killing processes, using commands such as ./my_script.sh&, top and kill.

Shell scripts are powerful tools for automated execution of commands in Linux systems. 1) The shell script executes commands line by line through the interpreter to process variable substitution and conditional judgment. 2) The basic usage includes backup operations, such as using the tar command to back up the directory. 3) Advanced usage involves the use of functions and case statements to manage services. 4) Debugging skills include using set-x to enable debugging mode and set-e to exit when the command fails. 5) Performance optimization is recommended to avoid subshells, use arrays and optimization loops.

Linux is a Unix-based multi-user, multi-tasking operating system that emphasizes simplicity, modularity and openness. Its core functions include: file system: organized in a tree structure, supports multiple file systems such as ext4, XFS, Btrfs, and use df-T to view file system types. Process management: View the process through the ps command, manage the process using PID, involving priority settings and signal processing. Network configuration: Flexible setting of IP addresses and managing network services, and use sudoipaddradd to configure IP. These features are applied in real-life operations through basic commands and advanced script automation, improving efficiency and reducing errors.

The methods to enter Linux maintenance mode include: 1. Edit the GRUB configuration file, add "single" or "1" parameters and update the GRUB configuration; 2. Edit the startup parameters in the GRUB menu, add "single" or "1". Exit maintenance mode only requires restarting the system. With these steps, you can quickly enter maintenance mode when needed and exit safely, ensuring system stability and security.

The core components of Linux include kernel, shell, file system, process management and memory management. 1) Kernel management system resources, 2) shell provides user interaction interface, 3) file system supports multiple formats, 4) Process management is implemented through system calls such as fork, and 5) memory management uses virtual memory technology.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Notepad++7.3.1
Easy-to-use and free code editor

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.
