shell脚本中有哪些常用的内置变量

  介绍

这篇文章给大家介绍shell脚本中有哪些常用的内置变量,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

FUNCNAME美元,LINENO美元$ PWD

<代码> FUNCNAME 和<代码> LINENO>

<代码> FUNCNAME 表示当前函数的名字,作用范围仅限函数中使用,在函数外无值

<代码> LINENO 表示当前所在脚本中变量出现在的行号

<代码> PWD 表示当前目录,对应于<代码> PWD 命令

现有个脚本<代码>。sh> # !/bin/bash      ,,外种皮()   {才能   ,,,echo  & # 39; func=& # 39; FUNCNAME, LINENO美元   ,,}   ,外种皮   ,   echo 才能;& # 39;lineno: & # 39; lineno美元   echo 才能;& # 39;xx: & # 39; FUNCNAME美元   echo 才能;& # 39;curpath: & # 39; $ PWD

执行<代码>。/h 命令,输出如下

[tt@ecs-centos-7 ~]美元。/h
func=甲壳,6
lineno: 12
xx:
curpath:/home/tt

在<代码>甲壳函数中<代码> FUNCNAME> 甲壳>

<代码> lineno>

$ $, $ PPID

这两个变量依次表示当前进程ID和父进程ID

现有<代码>。sh 脚本,内容如下

<代码>睡眠20 睡眠语句是为了让执行脚本进程暂缓退出,在另一个终端中验证输出的结果

# !/bin/bash   # set  - u      echo  & # 39; cur  pid: & # 39; $ $   echo  & # 39; parent  pid: & # 39; PPID美元   sleep  20

在当前终端执行<代码>。/h> (tt@ecs-centos-7  ~),美元。/a.sh    cur  pid: 13095   parent  pid: 12982

在执行<代码>。sh> ps - o pid, ppid,时间,cmd - p 12982年,13095年命令,结果如下

(tt@ecs-centos-7  ~),美元ps  -o  pid, ppid, cmd  -p  12982年,13095年   ,,PID  PPID ,,, TIME  CMD   12982,12981,00:00:00  bash   13095,12982,00:00:00 /bin/bash 。/h

从上面的结果可以看的出,执行<代码>。/h 命令之后,$ $变量表示的是执行<代码>。sh 脚本的进程ID 13095,而12982年是它的父进程ID,也即是<代码> PPID>

$ 0 $ 1、$ 2…$ n, $ #

<代码> $ # 表示从命令行传入脚本的参数数量

<代码> 0美元,$ 1、$ 2…$ n> 0 是脚本本身的名字
<代码> 1美元是第一个参数
<代码> 2美元是第二个参数,依此类推
<代码> $ n>

第十个参数及以后的参数必须要用大括号括起来,例如:${10},{11},{12}美元依次表示第十个变量,第十一个变量,第十二个变量

$ * $ @

都表示位置参数,不过它们之间也有些不同点

使用<代码> $ *>

而对于<代码> $ @>

现有<代码> c。sh> # !/bin/bash      问=1   echo  & # 39; test  1111 & # 39;      for  var “$ *“拷贝   做   ,,echo “参数$问=? var   ,,let “问+=1”;   完成   回声      问=1   echo  & # 39; test  2222 & # 39;   for  var  $ *拷贝   做   echo 才能“参数$问=? var   let 才能“问+=1”;   完成   回声      问=1   echo  & # 39; test  3333 & # 39;   for  var “拷贝@"美元;   做   echo 才能“参数$问=? var   let 才能“问+=1”;   完成   回声      问=1   echo “test  4444“;   for  var  $ @拷贝   做   ,echo “参数$问=? var   cnt, let “+=1”;   完成了

执行<代码>。/c。sh 1 2 3>

root@ecs-centos-7 ~ #。/c。sh测试1 2 3

shell脚本中有哪些常用的内置变量