Shell常用特殊变量 经常会在shell命令中,看到$0, $#, $*, $@, $?, $$这样的取值,这些代表什么呢? $* 和 $@ 都是将参数一个一个返回 "$*"将所有参数当做一个整体字符串返回 , "$@"将参数一个一个返回 常用判断参数 在shell命令文件中还经常会看到类似与if [ -z "${SPARK_HOME}" ]; then这样的...
${1:?}没有参数就报错return #!bin/bash #file name: test1.sh bar=${1:?param empty} echo $bar 执行bash test1.sh,报错 test1.sh:line 3:1:param empty 执行bash test1.sh hi,输出 hi ${1:-}没有则给默认值 #!bin/bash #file name: test2.sh bar1=${1:-} echo bar1:[$bar1] ba...
```bash echo $1 ``` 如果命令行中没有参数,则可以使用`$0`来获取当前命令的名称。例如,如果当前 命令是`ls`,则可以使用以下命令来获取该命令的名称: ```bash echo $0 ``` 如果需要判断命令行参数的数量,可以使用以下命令: ```bash if [ $# -eq 0 ]; then echo "No arguments provided." elif ...
shift 命令能够用来操作命令行参数。默认情况下将每个参数向左移动一个位置。被移出的参数就被丢弃了,无法恢复。 先掌握这个命令的使用,使用这个命令可以方便地解析命令行参数。 使用示例 下面是一个简单的示例: $ cat pop.sh #!/bin/bash count=1 while [ -n "$1" ] # while [ $# -ne 0 ] do echo...
位置参数 $1, $2,..., $N,$#代表了命令行的参数数量, $0代表了脚本的名字 -ne 不等于 ——— UNIX Shell -> 比较: 整数比较 -eq 等于 if [ "$a" -eq "$b" ] -ne 不等于 if [ "$a" -ne "$b" ] -gt 大于 if [ "$a" -gt "$b" ] -ge 大于...
五、文件判断 -r -r filename 文件是否存在且可读 -w -w filename 文件是否存在且可写 -s -s filename 文件是否存在且长度非0 -f -f filename 文件是否存在且是普通文件 -d -d filename 文件是否存在且是一个目录 六、命令行参数/位置变量
总共有6个参数,分别是one two three four five six。 第1个参数为one,第5个为five。 3 、判断用户的参数 学习是一个登堂入室、由浅入深的过程。在学习完Linux命令、掌握Shell脚本语法变量和接收用户输入的信息之后,就要踏上新的高度—能够进一步处理接收到的用户参数。
当执行一个Shell 脚本时,如果希望获取到命令行的参数信息,就需要使用到位置参数变量。基本语法有: $n //n 为数字,$0 代表命令本身,$1-9 代表第 1 到第 9 个参数,10 以上的参数需要用大括号包含如 ${10} $* //代表命令行中的所有参数,$* 将所有参数看成一个整体 ...
echo "第一个参数: $1" echo "第二个参数: $2" ``` 当我们执行该脚本,并传入两个参数时,可以得到如下输出: ```shell $ ./script.sh arg1 arg2 脚本名称: ./script.sh 第一个参数: arg1 第二个参数: arg2 ``` 二、处理命令行参数的常用技巧 1.判断命令行参数的数量 我们可以使用特殊变量$#来...
每个case分支都以一个模式开始,后面跟着一个;符号,然后是该分支要执行的命令。每个分支都必须以双分号;;结束。*模式是一个通配符,用于匹配任何未被前面的模式捕获的值。 例如,一个脚本检查命令行参数并执行相应的操作: #!/bin/bashcase"$1"instart)echo"开始服务";; ...