在Linux系统中,咱们常须要配置环境变量甚至执行命令,好比,在 /etc/profile 中的 PATH;
在~/.bash_profile 中的 alias。shell
本文意在介绍不一样的文件中命令的执行时机和做用范围。bash
在Linux内核系统中,起类似做用的文件共分为:code
/etc/profiletable
/etc/bashrc(在Ubuntu系统中为/etc/bash.bashrc)变量
~/.bash_profile扩展
~/.bashrc配置
File Name | Login | New bash |
---|---|---|
/etc/profile | true | false |
/etc/bashrc | true | true |
~/.bash_profile | true | false |
~/.bashrc | true | true |
申明变量时,不加export只能在本shell文件内引用;加上export后,在本文件执行的全部shell中都可引用。file
a.sh:引用
#!/bin/bash echo ----- a.sh ----- A=1 export B=2 echo A=$A echo B=$B sh ./b.sh
b.sh:总结
#!/bin/bash echo ----- b.sh ----- echo A=$A echo B=$B sh c.sh
c.sh:
#!/bin/bash echo ----- c.sh ----- echo A=$A echo B=$B
在 a.sh 中申明 A B 两个变量,其中 B 变量使用了 export。b.sh 和 c.sh 仅仅是打印 A B 变量。打印结果以下:
[root@886d89b1d8b4:/tmp# ./a.sh ----- a.sh ----- A=1 B=2 ----- b.sh ----- A= B=2 ----- c.sh ----- A= B=2
总结:使用 export 申明变量可在 bash 打开的全部 bash 中引用。