Linux Shell基础 位置参数变量预定义变量
Posted lizhouwei
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Shell基础 位置参数变量预定义变量相关的知识,希望对你有一定的参考价值。
位置参数变量
[[email protected] ~]# ls anaconda-ks.cfg install.log install.log.syslog
$0 的值就是 ls 命令本身,$1 的值就是 anaconda-ks.cfg 这个文件,$2 是 install.log 文件,$3 是 install.log.syslog 文件。在 Shell 中可以识别的位置参数变量如表 1 所示。
位置参数变量 | 作 用 |
---|---|
$n | n 为数字,$0 代表命令本身,$1?$9 代表第 1?9 个参数,10 以上的参数需要用大括号包含, 如${10} |
$* | 这个变量代表命令行中所有的参数,把所有的参数看成一个整体 |
[email protected] | 这个变量也代表命令行中所有的参数,不过 [email protected] 把每个参数区别对待 |
$# | 这个变量代表命令行中所有参数的个数 |
预定义变量
预定义变量 |
作 用 |
---|---|
$? |
最后一次执行的命令的返回状态。如果这个变量的值为 0,则证明上一条命令正确执行;如果这 个变量的值为非 0 (具体是哪个数由命令自己来决定),则证明上一条命令执行错误 |
$$ |
当前进程的进程号(PID) |
$! |
后台运行的最后一个进程的进程号(PID) |
"$?"示例
[[email protected] sh]# ls hello.sh #ls命令正确执行 [[email protected] sh]# echo $? 0
变量"$?"返回一个0的值,说明上一条命令已经正确执行,如果执行错误"$?"会返回非0。
"$$"示例
[[email protected] sh]# vi hello.sh #!/bin/bash echo "The current process is $$"
输出当前进程的PID
"$!"示例
find /root -name hello.sh &
使用find命令在/root目录下査找hello.sh文件,符号"&"的意思是把命令放入后台执行。
以上是关于Linux Shell基础 位置参数变量预定义变量的主要内容,如果未能解决你的问题,请参考以下文章