美文网首页
Linux特殊变量$@,$#,$*,$?,$$,$0

Linux特殊变量$@,$#,$*,$?,$$,$0

作者: 阿基米德来了 | 来源:发表于2019-08-27 09:39 被阅读0次
脚本参数变量 含义
$n(n为数字) 表示后接的第n个参数,n=1,2...。若n=0,则表示脚本名称
$# 表示脚本后面接的参数的个数(即不包括脚本名称$0)
$@ 表示脚本所有参数,但以类似数组的形式,如[ "$1","$2","$3" ]。每个变量为独立的。
$* 表示脚本所有参数合成的字符串,如[ "$1 $2 $3" ]。默认是以空格键作为分割符

补充:shift 命令可以移动脚本参数,后面可接数字,表示偏移的参数个数

[test@test]$ vim test.sh
#!/bin/bash
shift 2
echo "paramter: $@"
echo "paramter number: $#"
#执行结果如下
[test@test]$ bash test.sh one two three
paramter: three
paramter number: 1
命令行/脚本变量 含义
$? 前一个命令执行完毕的返回值,0表示成功。可与exit n(n为数字)配合使用
$$ 取得进程的PID。命令行使用,取得当前shell的PID。脚本内则为脚本进程的PID
$! Shell最后运行的后台进程的PID
$- 内容为 set 的所有设定(set 可以设定指令的输出输入环境)

补充:$!可能比较难理解,实例如下

[test@test]$ sleep 300 &
[2] 2388
[test@test]$ echo $!
2388

相关文章

  • Linux特殊变量$@,$#,$*,$?,$$,$0

    补充:shift 命令可以移动脚本参数,后面可接数字,表示偏移的参数个数 补充:$!可能比较难理解,实例如下

  • Shell特殊变量

    Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数 特殊变量列表 变量 含...

  • Shell特殊变量:Shell $0, $#, $*, $@,

  • linux中shell变量$#,$@,$0,$1,$2的意思

    linux中shell变量$#,$@,$0,$1,$2的含义解释:变量说明:$$Shell本身的PID(Proce...

  • Shell 特殊变量(2)

    Shell 特殊变量 特殊变量列表 变量含义$0当前脚本的文件名$n传递给脚本或函数的参数。n 是一个数字,表示第...

  • Bash变量

    在linux中默认的变量类型全是字符串类型,如果需要做数值运算,则需要做特殊处理,指定变量为数值型 变量用等号连接...

  • Linux 各个变量的意思

    Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义 新建脚本 脚本内容如下: 保存退出 赋予脚本...

  • Linux下的变量

    Linux下的变量 Linux变量 Linux下的变量主要分为三种:本地变量、环境变量和位置变量本地变量本地变量是...

  • [sed] 替换中引入linux 变量

    1、一般的 替换 2、当需要引入 linux 变量时,单引号改为 双引号 如CC变量赋值"xxxx" 3、特殊的情...

  • Shell 脚本自我删除

    bash 中有 $0, $1, ....$n等特殊变量。其中$0代表脚本自身。因此shell脚本完成自我删除,只需...

网友评论

      本文标题:Linux特殊变量$@,$#,$*,$?,$$,$0

      本文链接:https://www.haomeiwen.com/subject/iflsectx.html