文章目录
- 1. 位置参数
- 2. $?
1. 位置参数
通过位置参数 可以方便的获取某一个位置的参数、传参个数、脚本本身的名字、还可以方便的获取所有参数。
先看一个脚本:
[root@localhost ~]# cat posion.sh#!/bin/bashecho"This script's name is:$0"echo"$#parameters in total"echo"All parameters list as:$@"echo"The first parameter is$1"echo"The second parameter is$2"echo"The third parameter is$3"[root@localhost ~]# bash posion.sh para1 para2 para3This script's name is: posion.sh3parametersintotal All parameters list as: para1 para2 para3 The first parameter is para1 The second parameter is para2 The third parameter is para3即位置参数的使用逻辑是这样:
2. $?
$?:代表上一个命令执行后的返回值
看一个例子
lianggao@bogon~%ls002install Public Applications Virtual Machines.localized lianggao@bogon~%echo $?0lianggao@bogon~%al zsh:commandnotfound:al lianggao@bogon~%echo $?127Linux中规定正常退出的命令或脚本的返回值是0,任何非0返回值都代表命令未正常退出或未正常执行。
所以al 返回的值是127,ls返回的是0。
常见的,我们可以判断上一个命令是否执行成功来决定是否要执行下一个命令:
if[$?-ne0];thenecho"failed"elseecho"succeed"fi或if[$?-eq0];thenecho"succeed"elseecho"failed"fi