介绍

当我们执行一个 shell 脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量,比如: ./myshell.sh 100 200 这个就是一个执行 shell 的命令行,可以在 myshell 脚本中获取到参数信息

基本语法

$n (功能描述:n 为数字,$0 代表命令本身,$1- $9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如 ${10})

(功能描述:这个变量代表命令行中所有的参数.*(功能描述:这个变量代表命令行中所有的参数.* 把所有的参数看成一个整体)

@(功能描述:这个变量也代表命令行中所有的参数,不过@(功能描述:这个变量也代表命令行中所有的参数,不过 @把每个参数区分对待)

$#(功能描述:这个变量代表命令行中所有参数的个数)

位置参数变量

hello.sh

#!/bin/bash
echo "0=$0 1=$1 2=$2" 
echo "所有的参数=$*"
echo "把每个参数区分对待=$@"
echo "参数的个数=$#"
#!/bin/bash
echo "当前执行的进程id=$$"
#以后台的方式运行另一个脚本并获取它的进程号
sh /opt/shcodetest/hello.sh 100 200 300 &                                                                                                          
echo "最后一个后台方式运行的进程id=$!"
echo "执行的结果为$?"

执行结果

image-20240208125729969