介绍在Linux系统中,我们经常需要配置环境变量甚至执行命令,例如/etc/profile中的PATH;~/.bash_profile中的别名。本文旨在介绍命令在不同文件中的执行时机和范围。文件类型在Linux内核系统中,具有类似功能的文件分为:/etc/profile/etc/bashrc(Ubuntu系统为/etc/bash.bashrc)~/.bash_profile~/.bashrc解析文件名LoginNewbash/etc/profiletruefalse/etc/bashrctruefalse~/.bash_profiletruefalse~/.bashrctruuetrue扩展export声明变量时,不加export,只能在这个shell文件中引用;添加export后,在该文件执行的所有shell中都可以被引用。a.sh:#!/bin/bashecho-----a.sh-----A=1exportB=2echoA=$AechoB=$Bsh./b.shb.sh:#!/bin/bashecho-----b.sh-----echoA=$AechoB=$Bshc.shc.sh:#!/bin/bashecho-----c.sh-----echoA=$AechoB=$B在a.sh中声明两个变量A和B,B变量使用export。b.sh和c.sh只打印AB变量。打印结果如下:[root@886d89b1d8b4:/tmp#./a.sh-----a.sh-----A=1B=2-----b.sh-----A=B=2-----c.sh-----A=B=2总结:使用export声明变量,在bash打开的所有bash中都可以引用。
