「Linux系列」说说Shell参数传递、参数处理方法
在Shell脚本中,参数传递和处理是非常常见且重要的一部分。以下是一些基本的参数传递和处理方法:
- 位置参数: 使用
$1
,$2
, ...,$N
来分别获取第一个、第二个至第N个参数。$0
是脚本名。 - 特殊参数:
$#
是传递给脚本的参数个数,$@
和$*
是传递给脚本的所有参数的列表,不同之处在于在被双引号(")引用时,$@
会保留参数间的空格,而$*
则会将所有参数视为一个整体。 - shift命令: 用于将所有参数向左移动,例如每执行一次shift,$3会变成$2,$2变成$1,$1的值被丢弃。
示例代码:
#!/bin/bash
echo "脚本名: $0"
echo "第一个参数: $1"
echo "第二个参数: $2"
echo "参数个数: $#"
echo "所有参数: $@"
# 使用shift命令循环处理所有参数
while [ "$#" -gt 0 ]; do
echo "当前参数: $1"
shift
done
运行脚本时传递参数,如 ./script.sh arg1 arg2 arg3
,会输出参数名、第一个和第二个参数、参数个数以及所有参数,然后循环输出每个参数直到没有参数为止。
评论已关闭