案例需求
在demo4.sh中循环打印输出所有输入参数, 体验$*
与$@
的区别
实现步骤
编辑demo4.sh脚本文件
# 增加命令: 实现直接输出所有输入后参数
# 增加命令: 使用循环打印输出所有输入参数
演示
-
编辑demo4.sh文件
-
直接输出所有输入参数, 与循环方式输出所有输入参数(使用双引号包含
$*
与$@
)#!/bin/bash # 命令1: 打印当前脚本文件名字 echo "当前脚本文件名称:$0" # 命令2: 打印第1个输入参数 echo "第一个输入参数:$1" # 命令3: 打印第2个输入参数 echo "第二个输入参数:$2" # 命令4: 打印第10个输入参数 echo "第十个输入参数不带花括号获取:$10" echo "第十个输入参数带花括号获取:${10}" # 命令5 打印所有输入参数的个数 echo "所有输入参数个数:${#}" # 增加命令: 实现直接输出所有输入后参数 echo '使用$*直接输出:'$* echo '使用$@直接输出:'$@ # 增加命令: 使用循环打印输出所有输入参数 echo '循环遍历输出$*所有参数' for item in "$*" do echo $item done echo '循环遍历输出$@所有参数' for item in "$@" do echo $item done
-
运行观察区别
特殊变量:$?
语法
$?
含义
用于获取上一个Shell命令的退出状态码, 或者是函数的返回值
每个Shell命令的执行都有一个返回值, 这个返回值用于说明命令执行是否成功
一般来说, 返回0代表命令执行成功, 非0代表执行失败
演示
输入一个正确命令, 再输出$?