加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱资讯网 (https://www.52junxun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

UNIX Shell特殊变量

发布时间:2023-02-08 12:39:24 所属栏目:Unix 来源:
导读:  在本章中,我们将讨论Unix中的特殊变量,在上一章中,我们了解了变量名称中使用某些非字母数字字符时应注意的事项,这些变量保留用于特定功能。

  如$$字符代表当前shell的进程ID号或PID

  $echo $$
  在本章中,我们将讨论Unix中的特殊变量,在上一章中,我们了解了变量名称中使用某些非字母数字字符时应注意的事项,这些变量保留用于特定功能。
 
  如$$字符代表当前shell的进程ID号或PID
 
  $echo $$
  上面的命令写入当前shell的PID-
 
  29949
  下表显示了一些可以在Shell脚本中使用的特殊变量-
 
  No.Variable描述
 
  1
 
  $0
 
  当前脚本的文件名。
 
  2
 
  $n
 
  这些变量对应于调用脚本的参数。这里的 n 是与参数位置相对应的正十进制数(第一个参数为$1,第二个参数为$2,依此类推)。
 
  3
 
  $#
 
  提供给脚本的参数数量。
 
  4
 
  $*
 
  所有参数都用双引号引起来。如果脚本收到两个参数,则$*等效于$1 $2。
 
  5
 
  $@
 
  所有参数都单独用双引号引起来。如果脚本收到两个参数,则$@等效于$1 $2。
 
  6
 
  最后执行的命令的退出状态。
 
  7
 
  $$
 
  当前shell的进程号。对于Shell脚本,这是它们执行时的进程ID。
 
  8
 
  $!
 
  最后一个后台命令的进程号。
 
  命令行参数
 
  命令行参数$1,$2,$3,… $9是位置参数,$0指向实际的命令,shell脚本或函数,$1,$2,$3,… $9作为参数命令。
 
  以下脚本使用与命令行相关的各种特殊变量-
 
  #!/bin/sh
  echo "File Name: $0"
  echo "First Parameter : $1"
  echo "Second Parameter : $2"
  echo "Quoted Values: $@"
  echo "Quoted Values: $*"
  echo "Total Number of Parameters : $#"
  这是上述脚本的Example运行-
 
  $./test.sh Zara Ali
  File Name : ./test.sh
  First Parameter : Zara
  Second Parameter : Ali
  Quoted Values: Zara Ali
  Quoted Values: Zara Ali
  Total Number of Parameters : 2
  特殊参数$*和$@
 
  我们可以如下所示编写shell脚本UNIX 特殊变量,以使用$*或$@特殊参数处理未知数量的命令行参数-
 
  #!/bin/sh
  for TOKEN in $*
  do
     echo $TOKEN
  done
  这是上述脚本的示例运行-
 
  $./test.sh Zara Ali 10 Years Old
  Zara
  Ali
  10
  Years
  Old
  注意-这里的 do … done 是一种循环,将在后续教程中进行介绍。
 
  退出状态
 
  $? 变量表示上一个命令的退出状态。
 
  退出状态是每个命令完成后返回的数值。通常,如果大多数命令成功,则返回退出状态;如果不成功,则返回1。
 
  以下是成功命令的示例
 
  $./test.sh Zara Ali
  File Name : ./test.sh
  First Parameter : Zara
  Second Parameter : Ali
  Quoted Values: Zara Ali
  Quoted Values: Zara Ali
  Total Number of Parameters : 2
  $echo $?
  0
  $
 

(编辑:我爱资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章