1 什么是shell变量?
变量就是用固定的字符串(也可以是字符,数字等组合)代替更多 更复杂的内容。
2. Shell变量的特性?
默认情况下 在bash Shell中是不会区分变量类型的
3. 变量类型
3.1 环境变量(全局变量) :可以在创建它们的shell及其派生出来的任意子进程shell中使用
3.1.1 自定义环境变量
3.1.2 bash内置环境变量
3.2普通变量(局部变量)
只能在创建它们的shell函数 或shell脚本中使用
补充:环境变量
按照系统规范 所有环境变量的名字均采用大写形式
在将环境变量应用于用户进程程序之前 都应该用export命令导出定义
export OLDGIRL=1
显示变量的值 env set declare
set 输出所有的变量 包括环境变量和普通变量
env 只显示全局变量
declare 输出所有的变量 函数 整数 和已经导出的变量
set -o 命令显示 bash Shell的所有参数配置信息
[root@localhost ~]# set -o | head
allexport off
braceexpand on
emacs on
errexit off
errtrace off
functrace off
hashall on
histexpand on
history on
ignoreeof off
3.1.1 自定义环境变量
一 设置环境变量的3种方法
1 export 变量名=value
2 变量名 =value; export 变量名
3 declare -x 变量名 =value
示例 如下 :
export NAME=jack
NAME=jack; export NAME
declare -x jack=NAME
a 自定义全局环境变量
[root@localhost ~]# cat /etc/profile | grep ABC # 查看/etc/profile文件是否有
[root@localhost ~]# export ABC=‘jack’ #编辑 /etc/profile 然后输出此行并保存
[root@localhost ~]# source /etc/profile # 或./etc/profile 使其立即生效
[root@localhost ~]# echo KaTeX parse error: Expected 'EOF', got '#' at position 5: ABC #̲变量前加符号 使其立即生效
jack
[root@localhost ~]# env | grep ABC 查看定义结果
ABC=jack
补充: /etc/profile文件 所有的用户的shell都有权使用这些环境变量
b 用户的环境变量配置
[root@localhost ~]# ls /root/.bashrc # 推荐优先在此文件中配置
/root/.bashrc
[root@localhost ~]# ls /root/.bash_profile
root/.bash_profile
对于用户的环境变量设置 比较常见的是用户家目录下的.bashrc 和.bash_profile
c 全局环境变量的配置
/etc/profile
/etc/bashrc # 推荐在此文件优先配置
/etc/profile.d/
-
二 设置登录提示的3种方式
1. 在/etc/motd 增加内容
-
在~/.bashrc 尾行添加内容
上述环境变量设置通常放在/etc/profile 全局环境变量
3 在/etc/profile.d/ 下写一个脚本
示例脚本内容
cat /etc/profile.d/jack.sh # 这是脚本的内容
echo"Here is jack shelltraining"