[关闭]
@yanglt7 2018-10-23T02:03:19.000000Z 字数 2045 阅读 654

《Shell 编程》02_Shell 变量基础知识

Shell


2.1 什么是变量

1)变量定义

2)变量类型:

2.2 环境变量

2.2.1 自定义环境变量

1)设置环境变量

  1. export 变量名=value
  2. 变量名=value export 变量名
  3. declare -x 变量名=value

2)让环境变量永久生效的常用设置文件

用户的环境变量配置

  1. [root@web001 ~]# ls /root/.bashrc
  2. /root/.bashrc
  3. [root@web001 ~]# ls /root/.bash_profile
  4. /root/.bash_profile

全局环境变量的配置

  1. /etc/profile
  2. /etc/bashrc
  3. /etc/profile.d/

2)设置登录提示的两种方式

第一种是在 /etc/motd 里增加提示的字符串,如下

  1. [root@web001 ~]# cat /etc/motd
  2. welcome to ylt linux learning.

登录后显示内容如下

  1. Last login: Mon Oct 22 23:34:51 2018 from 192.168.2.1
  2. welcome to ylt linux learning.

第二种是在 /etc/profile.d 下面增加如下脚本。

  1. [root@web001 ~]# cat /etc/profile.d/yltlogin.sh
  2. echo "welcome to ylt linux learning."

2.2.2 显示与取消环境变量

1)通过 echo 或 printf 命令打印环境变量

  1. $HOME :用户登录时进入的目录
  2. $UID :当前用户的 UID(用户标识)
  3. $PWD :当前工作目录的绝对路径名
  4. $SHELL :当前 SHELL
  5. $USER :当前用户
  1. [root@web001 ~]# echo $PWD
  2. /root
  3. [root@web001 ~]# printf "$PWD\n"
  4. /root

2)用 env 或 set 显示默认的环境变量

3)用 unset 消除本地变量和环境变量

  1. unset 变量名

2.3 普通变量

2.3.1 定义本地变量

1)普通变量定义

  1. 变量名=value
  2. 变量名='value'
  3. 变量名="value"

2)将一个命令的结果作为变量的内容赋值的方法

  1. 变量名=`ls`
  2. 变量名=$(ls)

3) 变量的输出方法

  1. echo $变量名 echo ${变量名}
  2. echo '$变量名'
  3. echo "$变量名"
  4. echo `$变量名`

4)经验小结

以上为 shell 下的结论,awk 有区别。
awk 加单引号后再同时加双引号即可输出正确结果:

  1. [root@web001 test]# ETT=`pwd`
  2. [root@web001 test]# awk 'BEGIN {print "'$ETT'"}'
  3. /home/ylt/scripts/test
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注