shell脚本中的$用法

变量含义
$0shell脚本的文件名
$1 ~ $n添加到shell脚本中的各参数;
即执行shell脚本时后跟的内容;
$1为第1参数,$2为第2参数
$?shell脚本运行结束时的返回值
成功为0,其他为失败
$$shell脚本运行的当前进程的id
$!shell脚本最后运行的后台命令的pid
$*传递给shell脚本的所有参数
如果用""括起来时,会把所有参数看成一个整体,返回一个字符串
$@不用""括起来时,与$*功能相同;
""括起来后,会以"$1" “$2” “$3”的形式输出所有参数,返回多个字符串
$#shell脚本的参数个数
$_上一个命令的最后一个参数

示例

vim skk.sh

#!/bin/bash
echo '$0' is $0  ##文件名
echo '$1' is $1  ##第1参数
echo '$2' is $2  ##第2参数
echo '$3' is $3  ##第3参数
echo '$*' is $*  ##所有参数
echo '$@' is $@  ##所有参数
echo '$!' is $!  ##最后运行的后台命令的pid
echo '$#' is $#  ##参数个数
echo '$_' is $_  ##上一个命令的最后一个参数
echo '$?' is $?  ##运行结束时的返回值

在这里插入图片描述
$$
当前进程的id(此处即当前bash的进程id)
在这里插入图片描述

"$*"“$@”

vim sk.sh

#!/bin/bash
echo '$*' is :
for a in "$*"  ##输出$*的参数
do
  echo ${a}
done
echo "-------------"
echo '$@' is :  ##输出$@的参数
for b in "$@"
do
  echo ${b}
done

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐