1. 位置参数
通过位置参数 可以方便的获取某一个位置的参数、传参个数、脚本本身的名字、还可以方便的获取所有参数。
先看一个脚本:
[root@localhost ~]# cat posion.sh
#!/bin/bash
echo "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 para3
This script's name is: posion.sh
3 parameters in total
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 ~ % ls
002install Public
Applications Virtual Machines.localized
lianggao@bogon ~ % echo $?
0
lianggao@bogon ~ % al
zsh: command not found: al
lianggao@bogon ~ % echo $?
127
Linux中规定正常退出的命令或脚本的返回值是0,任何非0返回值都代表命令未正常退出或未正常执行。
所以al 返回的值是127,ls返回的是0。
常见的,我们可以判断上一个命令是否执行成功来决定是否要执行下一个命令:
if [ $? -ne 0 ]; then
echo "failed"
else
echo "succeed"
fi
或
if [ $? -eq 0 ]; then
echo "succeed"
else
echo "failed"
fi
文章介绍了Linux脚本中如何使用位置参数获取和处理传入的参数,并通过示例解释了$?变量表示的上一个命令执行的返回值,以及如何根据返回值判断命令执行状态。返回值0代表命令成功,非0表示失败,这在编写条件语句时非常有用。
648

被折叠的 条评论
为什么被折叠?



