Shell 的变量功能
变量的取用与配置:echo
环境变量的功能
用 env 观察环境变量与常见环境变量说明
HOME 代表用户的家目录。
SHELL 告知我们,目前这个环境使用的 SHELL 是哪支程序? Linux 默认使用 /bin/bash 的啦!
PATH 就是运行文件搜寻的路径啦~目录与目录中间以冒号(:)分隔, 由于文件的搜寻是依序由 PATH的变量内的目录来查询,所以,目录的顺序也是重要的喔。
用 set 观察所有变量 (含环境变量与自定义变量)
- PS1:(提示字符的配置) '[\u@\h \W]$ '
- $:(关于本 shell 的 PID),可以用:『 echo $$ 』即可!出现的数字就是你的 PID 号码。
- ?:(关于上个运行命令的回传值)
[root@www ~]# echo $SHELL /bin/bash <==可顺利显示!没有错误! [root@www ~]# echo $? 0 <==因为没问题,所以回传值为 0 [root@www ~]# 12name=VBird -bash: 12name=VBird: command not found <==发生错误了!bash回报有问题 [root@www ~]# echo $? 127 <==因为有问题,回传错误代码(非为0) # 错误代码回传值依据软件而有不同,我们可以利用这个代码来搜寻错误的原因喔!
- export: 自定义变量转成环境变量,子程序仅会继承父程序的环境变量, 子程序不会继承父程序的自定义变量啦
变量的测试与内容替换
范例一:测试一下是否存在 username 这个变量,若不存在则给予 username 内容为 root
[root@www ~]# echo $username
<==由于出现空白,所以 username 可能不存在,也可能是空字符串
[root@www ~]# username=${username-root}
[root@www ~]# echo $username
root <==因为 username 没有配置,所以主动给予名为 root 的内容。
[root@www ~]# username="vbird tsai" <==主动配置 username 的内容
[root@www ~]# username=${username-root}
[root@www ~]# echo $username
vbird tsai <==因为 username 已经配置了,所以使用旧有的配置而不以 root 取代