shell基础之特殊变量(4)位置参数:获取脚本传参细节、$?:上一个命令执行的情况怎么看

文章介绍了Linux脚本中如何使用位置参数获取和处理传入的参数,并通过示例解释了$?变量表示的上一个命令执行的返回值,以及如何根据返回值判断命令执行状态。返回值0代表命令成功,非0表示失败,这在编写条件语句时非常有用。
摘要由CSDN通过智能技术生成

文章目录

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"
fiif [ $? -eq 0 ]; then
    echo "succeed"
else
    echo "failed"
fi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roman_日积跬步-终至千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值