shell学习之语法基础(二)

651 阅读2分钟

变量

  1. 环境变量

    printenv  # 显示当前Shell进程的环境变量
    env
    
  2. 本地变量

    VARNAME=value # 注意等号两边都不能有空格
    export VARNAME=value # 把本地变量导出为环境变量
    
  3. 删除变量

     unset VARNAME # 删除已定义的环境变量或本地变量
    
  4. 读取变量

    在定义变量时不用$,取变量值时要用$,Shell变量的值都是字符串,没有变量取值为空字符串
    VARNAME=value
    "$VARNAME"    # 建议使用:表示它的值
    ${VARNAME}  # 表示它的值
    

单引号和双引号

单引号为字符串,双引号允许变量扩展,编写shell 变量名一定要双引号括起来

[root@iZj6c25p95hhdir03i3l50Z ~]# echo $SHELL
/bin/bash
[root@iZj6c25p95hhdir03i3l50Z ~]# echo '$SHELL'
$SHELL
[root@iZj6c25p95hhdir03i3l50Z ~]# echo "$SHELL"
/bin/bash

文件名代换 * ?[]

  1. 通配符

    通配符
    
    *   匹配0个或多个任意字符
    ?   匹配一个任意字符
    [若干字符]  匹配方括号中任意一个字符的一次出现
    

命令代换 `` 或 $()

由'`'反引号括起来的也是一条命令,Shell先执行该命令,然后将输出结果立刻代换到当前命令行中,ESC下边的~

[root@iZj6c25p95hhdir03i3l50Z ~]# echo date
date
[root@iZj6c25p95hhdir03i3l50Z ~]# echo $(date)
Fri Apr 17 15:06:23 CST 2020
[root@iZj6c25p95hhdir03i3l50Z ~]# echo `date`
Fri Apr 17 15:06:31 CST 2020

变量复制  变量名=$(date) # 命令赋值
或者  变量名=$(命令)

算术代换:$(())

# $(())中的Shell变量取值将转换成整数
[root@iZ ~]# aming=222
[root@iZ ~]# echo $((aming+250))
472
[root@iZ ~]# echo $(($aming+250))
472
# 转换进制计算  $[base#n],其中base表示进制,n按照base进制解释,后面再有运算数,按十进制解释。
echo $[8#10+11]
19
echo $[2#10+11]
13

转义字符\

\ 转义符:用于去除紧跟其后的单个字符的特殊意义,紧跟其后的字符取字面值

[root@iZ ~]# echo $SHELL
/bin/bash
[root@iZ ~]# echo \$SHELL
$SHELL
[root@iZ ~]# echo \\
\

文章规划

好了各位,以上就是这篇文章的全部内容了,能看到这里人啊,都是人才。

如果这个文章写得还不错,觉得「王采臣」我有点东西的话 求点赞👍求关注❤️求分享👥 对耿男我来说真的非常有用!!!

白嫖不好,创作不易,各位的支持和认可,就是我创作的最大动力,我们下篇文章见!

王采臣 | 文  【原创】

如果本篇博客有任何错误,请批评指教,不胜感激 !

微信公众号: