king

linux的shell中$$是什么意思

king linux 2022-06-14 728浏览 0

linux的shell中$$是什么意思

Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。

$$ 当前shell的PID(即脚本运行的当前进程号)

Shell本身是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言(就是你所说的shell脚本)。作为命令语言,它互动式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。

它虽然不是 Linux系统内核的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行。

知识拓展:

$0 当前脚本的执行名字

$n 当前脚本执行命令的第n个参数值,n = 1..9

$* 当前脚本执行命令的所有参数,此选项参数可超过9个

$# 当前脚本执行命令的输入参数个数,例如执行 ./test.sh aa bb cc ,则在 test.sh 里 $# 为 3

$! 上一个执行指令的PID(后台运行的最后一个进程的进程ID号)

$- 显示shell使用的当前选项,与set命令功能相同

$@ 跟$*类似,但是可以当作数组用

$? 上一个执行指令的返回值(显示最后命令的退出状态,0表示没有错误,其他任何值表明有错误),如下所示

# 结果输出上一条命令 grep 命令的返回值
grep xxx a.txt
echo $?
# 判断打开目录命令是否成功,不成功则输出提醒信息并退出
dir_exe=../cron
cd $dir_exe
if [ $? -ne 0 ]; then
    echo "cannot change dir to $dir_exe"
    exit 1  
fi


继续浏览有关 linuxcentos 的文章
发表评论