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
转载请注明:IT运维空间 » linux » linux的shell中$$是什么意思
发表评论