1. Linux 系统修改环境变量
正常情况下改变环境变量可以修改的文件有两类:
第一类是 “系统的全局环境变量”,修改之后可作用于整个系统包含的所有用户都会生效;(文件:/etc/profile
)
第二类是 “局部环境变量”,也就是每个用户独有的一份环境变量,修改后仅对当前用户生效,每个用户之间相互独立;(文件:/home/<username>/.bashrc
)
1.1. 几个常见的环境变量
PATH:包含可执行程序的绝对路径
HISTSIZE:保存历史命令的记录条数
SHELL:当前所使用的 shell 类型
HOME:指定用户的主工作目录
1.2. 常见修改环境变量方法
一般修改环境变量几乎是添加一些程序的运行目录或者环境变量值,下面是几个常用的几个添加环境变量的用法:
添加临时的环境变量
# 使用 export 命令可设置临时的环境变量,仅作用于当前 shell (即当前窗口)
export <环境变量名> = <路径>
清除环境变量
unset <环境变量名>
添加永久的环境变量
修改 /etc/.bashrc
文件或者 /etc/porfile
文件:
# 一般在文件末尾处添加
# 追加可执行程序路径,系统查找时会在 $PATH 包含的路径中查找
export PATH=<路径>:$PATH
# 添加环境变量
export <环境变量名>=<路径>
修改完成保存退出后,需要执行 source
命令使其生效:
# 若修改的文件是 /etc/profile,则执行
source /etc/profile
# 若修改的是其它文件,则对应 source 其它文件即可生效
2. 修改环境变量可能会遇到的几个问题
当修改完 .bashrc
文件后,执行 source
命令使其生效时,可能会遇到如下错误。
2.1. command not found: shopt…command not found: complete…
这样类似的错误原因是由于并未修改对应的 shell
环境变量配置文件所导致的,其中文的错误信息如下:
┌──(imaginemiracle㉿Kali-IM)-[~]
└─$ source .bashrc
找不到命令 “shopt”,您的意思是:
“shout” 命令来自 Debian 软件包 libshout-tools
尝试 sudo apt install <deb name>
找不到命令 “shopt”,您的意思是:
“shout” 命令来自 Debian 软件包 libshout-tools
尝试 sudo apt install <deb name>
找不到命令 “shopt”,您的意思是:
“shout” 命令来自 Debian 软件包 libshout-tools
尝试 sudo apt install <deb name>
找不到命令 “shopt”,您的意思是:
“shout” 命令来自 Debian 软件包 libshout-tools
尝试 sudo apt install <deb name>
complete:未找到命令
complete:未找到命令
complete:未找到命令
complete:未找到命令
complete:未找到命令
complete:未找到命令
complete:未找到命令
complete:未找到命令
complete:未找到命令
complete:未找到命令
/usr/share/bash-completion/bash_completion:1596: parse error near `|'
\[\e]0;\u@\h: \w\a\]\[\033[;32m\]┌──(\[\033[1;34m\]\u㉿\h\[\033[;32m\])-[\[\033[0;1m\]\w\[\033[;32m\]]\n\[\033[;32m\]└─\[\033[1;34m\]$\[\033[0m\]
2.2. 解决 command not found: shopt
报错问题
上文提到出现该错误的原因是由于没有修改正确对应的配置文件所导致的。下面看看如何知道正确的配置文件。
2.2.3. 查看当前系统的 shell
查看系统当前所有的 shell
cat /etc/shells
查看正在使用的 shell
echo &SHELL
这里看到笔者系统使用的是 zsh
,那么其对应的配置文件应该是 .zshrc
那么修改 .zshrc
并执行 source
就不会出现任何报错信息了。