linux环境变量



前言

环境变量相关


一、环境变量是什么?

Linux环境变量是一种保存在操作系统中的键值对,用于指定某些程序或系统的行为。在Linux中,环境变量通常用于指定程序的搜索路径、配置文件路径、语言环境、代理设置等信息。
bash shell 可以用环境变量来存储有关shell会话和工作环境的信息,即在内存中存储数据,以便程序或在shell中运行的脚本能够轻松访问。

分为全局变量和局部变量

1.1 全局环境变量

对所有shell和子shell都可见

查看全局变量
env 或 printenv
显示个别环境变量的值 
printenv HOME 或 echo $HOME

1.2 局部环境变量

只能在定义它们的进程中可见

显示当前进程下设置的所有环境变量
set    # 会显示全局变量、局部变量、用户定义变量

二、设置用户定义变量

1.设置局部用户定义变量

变量名区分大小写,自己定义的变量一般用小写;只在当前shell中有效,其它shell和子shell都无效

定义一个叫my_variable的环境变量   
my_variable=Hello   # 变量名、等号和值之间没有空白格,有空格的话shell就会把值当成一个命令
echo $my_variable

含空格的需要加引号
my_variable='Hello World'  
echo $my_variable

2.设置全局环境变量

定义一个叫my_variable的环境变量 
my_variable='I am Global'
export my_variable
echo $my_variable

修改子shell中全局变量不会改变父shell中该变量的值(即父shell中变量未改变),子shell也无法用export命令改变父shell中全局环境变量的值

my_variable='I am Global'
export my_variable
echo $my_variable

bash
echo $my_variable
my_variable='Null'
export my_variable
echo $my_variable
# outputs  Null
exit
echo $my_variable
# outputs  I am Global

3.将环境变量设置多个值

mytesst=(one two three four)
echo $mytesst
# output     one
echo ${mytesst[2]}
# output     three
echo ${mytesst[*]}
# output     one two three four
mytesst[2]=six
echo ${mytesst[*]}
.# output     one two six four
unset mytesst[2]
echo ${mytesst[2]}
.# output   无输出
unset mytesst

三、删除环境变量

echo $my_variable
# outputs  I am Global
unset my_variable
echo $my_variable
# outputs  无显示

同在子进程中修改环境变量一样,只在子进程中删除一个全局环境的变量只对子进程有用,该变量在父进程中仍可用。

四、设置PATH环境变量

PATH是一个环境变量,用于指定可执行程序的搜索路径。当我们在终端输入一个命令时,Linux会在PATH所包含的路径中寻找该命令的可执行文件,如果找到了就执行该命令,否则会提示找不到该命令。

查看环境变量
echo $PATH
环境变量以冒号分开

如果我们需要将某个路径加入到PATH中,可以使用以下命令:

export PATH=$PATH:/path/to/dir

但是,对PATH变量的修改只能持续到退出或重启系统,如果需要永久添加该路径,可以将该命令添加到用户的bashrc文件中

四、将环境变量持久化

启动文件:
/etc/profile
$HOME/.bash_profile
$HOME/.bash_login
$HOME/.profile
$HOME/.bashrc

在 Ubuntu 中,开机时会先执行/etc/profile文件和/etc/profile.d目录下的所有脚本,这些脚本是系统级别的配置文件,用于设置全局环境变量和系统级别的配置信息。
然后,在用户登录后,会执行用户主目录下的.bash_profile或.bash_login文件(如果存在),这些文件也是登录式 shell 的配置文件,用于设置个人环境变量和个人级别的配置信息。
如果这些文件不存在,则会执行.profile文件。最后,在启动 shell 时,会读取用户主目录下的.bashrc文件,用于设置交互式 shell 的配置信息。
因此,想要让 Ubuntu 系统在开机时读取自定义配置文件,应该将配置文件放置在/etc/profile.d目录下,或者修改/etc/profile文件,添加需要的配置信息。最好在/etc/profile.d目录下创建一个.sh文件,把所有新的或修改过的全局环境变量设置放置在这个文件。同样的,存储个人用户永久性变量的地方时.bashrc文件,可以将环境变量放在这里。

在 Ubuntu 中,通过图形界面打开的终端默认是非登录式 shell,不会执行读取用户的.bashrc文件等初始化操作。但是,如果在 Ubuntu 中打开终端时使用--login选项,就可以启动一个登录式 shell,该 shell 将执行读取用户.bashrc文件等初始化操作。
可以通过以下方式在 Ubuntu 中打开登录式 shell:
1. 在终端中执行bash --login命令。
2. 在 Ubuntu 中打开终端时,使用快捷键Ctrl + Alt + F1切换到控制台界面,在控制台中输入用户名和密码登录系统,此时启动的 shell 将是登录式 shell。
需要注意的是,登录式 shell 和非登录式 shell 在执行命令时可能会有一些区别。例如,登录式 shell 会执行.bash_profile文件,而非登录式 shell 则不会执行该文件。因此,在编写脚本时,需要根据实际情况选择合适的 shell。

总结

linux环境变量的设置和删除及永久设置,配置cuda环境变量能用到

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值