shell编程中的变量和符号

一、变量

1、自定义变量

  名称可以用数字、字母、下划线,不能以数字开头,等号两边不能有空格,不能使用特殊符号

# 定义变量 或者 赋值
a=10 
#取消变量的定义
unset a 
 #调用变量时用$加变量名
echo $a
#容易与后面内容发生混淆时用大括号
echo ${a}RMB 

2、环境变量

  由系统提前定义好,使用时直接调用

  USER 当前用户名
  HOME 当前用户的家目录
  SHELL 当前用户的解释器
  UID 当前用户的id号
  HOSTNAME 主机名
  PWD 当前位置
  PATH 存储命令的路径

3、位置变量与预定义变量

  $1 执行脚本时后面跟的第1个位置参数
  $2 执行脚本时后面跟的第2个位置参数
  $3 执行脚本时后面跟的第3个位置参数
  $* 执行脚本时后面跟的所有位置参数
  $# 执行脚本时后面跟的位置参数的个数
  $$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号)
  $? 判断上一条指令是否执行成功,0代表成功,非0代表失败

如何查看?

#查看所有环境变量
env 
#配合grep搜索
env | grep HOSTNAME 
#查看所有变量
set 
#自定义变量
abcd=8888 
#查找
set | grep abcd 

二、符号

1、双引号 " "

  作用:将某些对象变成字符串输出

    a.当字符串当中存在空格的时候,必须使用双引号,如果没有空格可以不用

str=hello
str="hello world"

    b.当双引号中要对变量进行引用

echo "$str world"

    c.在双引号当中调用shell命令,当shell命令需要识别的时候,使用反引号包裹命令

echo "`ls -l`"

2、单引号 ' '

  作用:把包裹的内容当成字符串使用

  请注意以下两条命令执行结果的区别

 3、反引号 ··

  作用:将双引号中的命令识别,然后执行命令对应的内容

4、重定向符号 >>  >

  >  重定向到某一个文件,完成覆盖

  >> 重定向到某一个文件,完成追加

5、通配符

  * 代表任意长度的任意字符 

  ?代表一个长度的任意字符

  [a-z] 代表a到z当中一个长度的任意字符

  [az] 代表a或z当中的一个长度的字符

  [^az] 代表指定范围以外的字符

  % 从右到左尽可能少的匹配

  %% 从右到左尽可能多的匹配

  # 从左到右尽可能少的匹配

  ## 从左到右尽可能少的匹配

 

 

 

    

posted @ 2021-10-24 13:15  从零开始造航母  阅读(316)  评论(0)    收藏  举报