@yanglt7
2018-10-23T02:03:19.000000Z
字数 2045
阅读 654
Shell
1)变量定义
2)变量类型:
按照系统规范,所有环境变量的名字均采用大写形式。在将环境变量应用于用户进程程序之前,都应该用 export 命令导出定义,例如:正确的环境变量定义方法为 export YLT=1。
在查看设置的变量时,有 3 个命令可以显示变量的值:set、env 和 declare。
1)设置环境变量
export 变量名=value
变量名=value ;export 变量名
declare -x 变量名=value
2)让环境变量永久生效的常用设置文件
用户的环境变量配置
[root@web001 ~]# ls /root/.bashrc
/root/.bashrc
[root@web001 ~]# ls /root/.bash_profile
/root/.bash_profile
全局环境变量的配置
/etc/profile
/etc/bashrc
/etc/profile.d/
2)设置登录提示的两种方式
第一种是在 /etc/motd 里增加提示的字符串,如下
[root@web001 ~]# cat /etc/motd
welcome to ylt linux learning.
登录后显示内容如下
Last login: Mon Oct 22 23:34:51 2018 from 192.168.2.1
welcome to ylt linux learning.
第二种是在 /etc/profile.d 下面增加如下脚本。
[root@web001 ~]# cat /etc/profile.d/yltlogin.sh
echo "welcome to ylt linux learning."
1)通过 echo 或 printf 命令打印环境变量
$HOME :用户登录时进入的目录
$UID :当前用户的 UID(用户标识)
$PWD :当前工作目录的绝对路径名
$SHELL :当前 SHELL
$USER :当前用户
[root@web001 ~]# echo $PWD
/root
[root@web001 ~]# printf "$PWD\n"
/root
2)用 env 或 set 显示默认的环境变量
3)用 unset 消除本地变量和环境变量
unset 变量名
1)普通变量定义
变量名=value
变量名='value'
变量名="value"
2)将一个命令的结果作为变量的内容赋值的方法
变量名=`ls`
变量名=$(ls)
3) 变量的输出方法
echo $变量名 或 echo ${变量名}
echo '$变量名'
echo "$变量名"
echo `$变量名`
4)经验小结
以上为 shell 下的结论,awk 有区别。
awk 加单引号后再同时加双引号即可输出正确结果:
[root@web001 test]# ETT=`pwd`
[root@web001 test]# awk 'BEGIN {print "'$ETT'"}'
/home/ylt/scripts/test