shell知识点:特殊变量

1.位置变量
  • $0 获取当前执行shell脚本的文件名,如果执行脚本带路径则会获取路径信息
    [root@localhost ~]# cat test.sh 
    #!/bin/sh
    echo $0
    [root@localhost ~]# sh test.sh 
    test.sh
    
  • $n 获取当当前执行的shell脚本的第n个参数,n=1…9,当n为0时表示脚本的文件名,如果n大于9,用大括号括起来${10}
    在这里插入图片描述
  • $* 获取当前shell的所有参数,将所有的命令行参数视为单个字符串,相当于"$1$2$3"
    在这里插入图片描述
  • $# 获取当前shell命令行中参数的总个数
    在这里插入图片描述
  • $@ 这个程序的所有参数"$1" “$2” "$3"
    在这里插入图片描述

$*和$@的区别:
 $*将所有的命令行所有参数视为单个字符串,等同于"$1$2$3"
 $@将命令行每个参数视为单独的字符串,等同于"$1" “$2” “$3”,这是将参数传递给其他程序的最佳方式,会保留所有内嵌在每个参数里的任何空白

2.进程状态变量
  • $$ 获取当前shell脚本的进程号(PID)
    在这里插入图片描述

  • $! 执行当一个指令的PID,上一个后台运行进程的进程号

  • $? 获取执行上一个指令的返回值(0为成功,非零为失败)
    在这里插入图片描述

  • $_ 在此之前执行的命令(上一个命令)或脚本的最后一个参数

3.bash内部变量命令
  • echo
    命令格式:echo args
    功能:将echo命令后面args指定的字符串及变量等显示到标准输出

  • printf
    功能:格式化打印

  • eval
    命令格式:eval args
    功能:当shell程序执行到eval语句时,shell读入参数args,并将组合成一个新的命令,然后执行

  • exec
    命令格式:exec 命令参数
    功能: 当shell执行到exec语句时,不会去创建新的子进程,而是转去执行指定的命令,当指定的命令执行完时,该进程就终止,所以shell程序中exec后面的语句将不再被执行

  • read
    命令格式:read [参数] [变量名表]
    常用参数:
      -p 设置提示信息
      -t 设置输入等待的时间,单位默认为秒
    功能:从标准输入读字符串,传给shell程序内指定定义的变量
    加粗样式

  • history
    显示历史记录信息

  • export
    命令格式:export 变量名 或:export 变量名=变量值
    功能:用export将它的变量向下带入子shell,从而让子进程继承父进程中的环境变量

  • shift
    shift|重新命名所有的位置参数变量,即$2变为$1,$3变为$2,在程序每使用一次shift语句,都使所有的位置参数依次向左移动一个位置,并使位置参数$#减1,直到减到0为止
    在这里插入图片描述

  • exit n
    功能:退出当前shell,在shell脚本中可以终止当前脚本执行

  • wait
    功能:使shell等待在后台启动的所有子进程结束,wait的返回值总是真

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值