中华视窗是诚信为本,市场在变,我们的诚信永远不变...
shell脚本添加环境变量_定义shell环境变量的命令「建议收藏」
思创斯忠实用户-ss • 2023年10月1日 08:00 • 未分类
shell脚本添加环境变量_定义shell环境变量的命令「建议收藏」在linux中经常使用环境变量,或者是设置环境变量,这次准备系统的看一遍全局环境变量全局环境变量对于shell会话和所有生成的子shell都是可见的。局部变量则只对创建它们的shell可见。查看全局变量可以使用env或命令也可以使用echo显示变量的值。在这种情况下引用某个环境变量的时候,必须在变量前面加上$局部环境变量局部环境变量只能在定义它们的进程中可见,查看局部环境变量的列表有点复杂。linux中没有显示局部变量的命令。set命令会显示某个特定线程设置的所._sh利用环境变量
大家好,我是你的好朋友思创斯。今天说一说shell脚本添加环境变量_定义shell环境变量的命令「建议收藏」,希望您对编程的造诣更进一步.
在linux中经常使用环境变量,或者是设置环境变量,这次准备系统的看一遍
目录
1.全局环境变量
2.局部环境变量
3.设置用户定义变量
4.设置全局环境变量
5.删除环境变量
6.设置 PATH 环境变量
7.定位系统环境变量
7.1登录shell
7.2 环境变量持久化
8.数组变量
1.全局环境变量
全局环境变量对于shell会话和所有生成的子shell都是可见的。局部变量则只对创建它们的shell可见。
查看全局变量可以使用env或命令
也可以使用echo显示变量的值。在这种情况下引用某个环境变量的时候,必须在变量前面加上$
2.局部环境变量
局部环境变量只能在定义它们的进程中可见,查看局部环境变量的列表有点复杂。linux中没有显示局部变量的命令。set命令会显示某个特定线程设置的所有环境变量。包括局部变量、全局变量以及用户定义变量。
3.设置用户定义变量
执行一个shell脚本,就能创建在这个shell进程内可见的局部变量了。可以通过等号给环境变量赋值,可以是数值或者字符串
现在每次引用 环境变量的值,只要通过$引用即可。如果要给变量赋一个含有空格的字符串值,必须用单引号来界定字符串的首和尾。
设置局部环境变量后,就能在shell进程的任何地方使用,但是如果生成了另一个shell,在子shell就不能用了,使用exit可以退出子线程
4.设置全局环境变量
在设定全局环境变量的进程所创建的子进程中,该变量都是可见的。创建全局环境变量的方法是先创建一个局部环境变量,然后再把它导出到全局变量。这个过程通过命令来完成。变量前面不需要加$
在定义并导出局部环境变量后, bash命令启动了一个子shell。在这个子shell中能够正确的显示出变量的值。该变量能够保留住它的值是因为命令使其变成了全局环境变量。修改子shell中全局环境变量并不会影响到父shell中该变量的值
5.删除环境变量
全局变量只能在父进程中删除
6.设置 PATH 环境变量
当在shell命令行界面输入一个外部命令的时候,shell必须搜索系统来找到对应的程序,PATH环境变量定义了用于进行命令和程序查找的目录,我的 PATH环境变量的内容如下:
如果命令或者程序的位置没有包括在PATH变量中,那么如果不使用绝对路径的话, shell是没法找到的。所偶一就要将应用程序的目录添加到现有的PATH环境变量中。PATH中的各个目录是用冒号分隔的。你只需引用原来的PATH值,然后再给这个字符串添加新目录就行了。
对PATH变量的修改只能持续到退出或重启系统。这种效果并不能一直持续。要永久的修改效果,要修改配置文件。
7.定位系统环境变量
在登录linux系统启动一个bash shell的时候,默认情况下bash会在几个文件中查找命令。这些文件叫做启动文件或者环境文件。bash检查的启动文件取决于你启动bash shell的方式。启动bash shell有三种方式
7.1登录shell
当你登录linux系统时,bash shell会作为登录shell启动。登录shell会从5个不同的启动文件中读取命令
/etc/$HOME/.$HOME/.$HOME/.$HOME/.
/etc/文件是系统上默认的bash shell的主启动文件。系统上的每个用户登录时都会执行这个启动文件。
剩下的4个目录在home目录下,可能只会有几个,这四个文件都以点号开头,这说明它们是隐藏文件(不会在通常的ls命令输出列表中出现)。它们位于用户的HOME目录下,所以每个用户都可以编辑这些文件并添加自己的环境变量,这些环境变量会在每次启动bash shell会话时生效。
剩下两种就不说了,我见的少,没见过哟。
7.2 环境变量持久化
对全局环境变量来说( Linux系统中所有用户都需要使用的变量),可能更倾向于将新的或修改过的变量设置放在/etc/文件中,但这可不是什么好主意。如果你升级了所用的发行版,这个文件也会跟着更新,那你所有定制过的变量设置可就都没有了。
最好是在/etc/.d目录中创建一个以.sh结尾的文件。把所有新的或修改过的全局环境变量设置放在这个文件中。在大多数发行版中,存储个人用户永久性bash shell变量的地方是$HOME/.文件。这一点适用于所有类型的shell进程。但如果设置了变量,那么记住,除非它指向的是$HOME/.,否则你应该将非交互式shell的用户变量放在别的地方。
8.数组变量
要给某个环境变量设置多个值,可以把值放在括号里,值与值之间用空格分隔。使用效果如下
可以用unset命令删除数组中的某个值,删除只是删掉那个位置上的值,但是那个位置始终是存在的。如下