Shell 的变量功能

变量的取用与配置:echo

环境变量的功能

  1. 用 env 观察环境变量与常见环境变量说明

    1. HOME 代表用户的家目录。

    2. SHELL 告知我们,目前这个环境使用的 SHELL 是哪支程序? Linux 默认使用 /bin/bash 的啦!

    3. PATH 就是运行文件搜寻的路径啦~目录与目录中间以冒号(:)分隔, 由于文件的搜寻是依序由 PATH的变量内的目录来查询,所以,目录的顺序也是重要的喔。

  2. 用 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)
        # 错误代码回传值依据软件而有不同,我们可以利用这个代码来搜寻错误的原因喔!
      
  3. 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 取代