修改shell环境变量的目录 /etc/profile /etc/bashrc
仅在当前shell下生效 重新开了一个shell就没有了 bash新开了一个shell
位置变量 $1 $2 .......
export命令
用来导出(设置)环境变量的 【从子shell导出到父shell】
exprot 变量名
set 显示所有“本地定义”的变量
unset 清除环境变量
env 显示所有“环境变量”
readonly 可以设置所有的变量为只读 不可删除
source 在当前shell下执行变量 source /etc/profile 直接刷新添加的变量不用重启
总结一下
在/etc/profile文件中添加变量PATH=$PATH~~~~ 对所有用户生效 设置变量首选这个文件
在.bash_profile文件中增加变量 只对当前用户时生效
exprot 命令设置变量只在当前shell下临时生效 shell关闭后就没有这个变量
预定义变量:系统预先定义的变量,也可以叫默认变量,可以直接调用
$0 这个表示的正真的含义是:当前运行的命令名,一般用于脚本中。
$# 保存脚本处理的参数个数
$@ 保存脚本处理的所有参数 把参数作为个体进行保存
$* 保存脚本处理的所有参数 把参数作为整体进行保存
$$ 保存脚本自身的pid号
$? 保存上条命令的状态码 0为成功
$_ 保存上条命令的参数
位置变量:脚本传递的位置参数,默认可以使用$1-$9,不交互传参
环境变量 env查看
自定义变量 默认只在当前shell下生效 使用bash打开一个新shell后便不生效了 echo的值为空
想要使其生效可以使用export导出变量使自定义变量变为环境变量
当打开一个终端时,会默认去读取系统中环境变量设置的文件,自定义变量不在文件中,所以即使使用export导出为环境变量,再次开启一个终端时也不会读取自定义改环境的变量,始终为默认文件中的环境变量
想使自定义变量为默认的环境变量可以在/etc/profile下面修改添加
修改完成后不会立即生效,想要使其生效使用source /etc/profile
系统启动后先去bashrc中读取环境变量,再去profile下读取环境变量