shell_42.Linux移动参数

移动参数

bash shell 工具箱中的另一件工具是 shift 命令,该命令可用于操作命令行参数。跟字面上的意思一样,shift 命令会根据命令行参数的相对位置进行移动。

在使用 shift 命令时,默认情况下会将每个位置的变量值都向左移动一个位置。因此,变量3 的值会移入2,变量2 的值会移入1,而变量$1 的值则会被删除。

注意:变量$0 的值,也就是脚本名,不会改变

例:

复制代码
$ cat shiftparams.sh
#!/bin/bash
# Shifting through the parameters
#
echo
echo "Using the shift method:"
count=1
while [ -n "$1" ]
do
    echo "Parameter #$count = $1"
    count=$[ $count + 1 ]
    shift
done
echo
exit 
$ 
$ ./shiftparams.sh alpha bravo charlie delta 
Using the shift method: 
Parameter #1 = alpha 
Parameter #2 = bravo 
Parameter #3 = charlie 
Parameter #4 = delta 
$

也可以一次性移动多个位置。只需给 shift 命令提供一个参数,指明要移动的位置数即可:

复制代码
$ cat bigshiftparams.sh 
#!/bin/bash 
# Shifting multiple positions through the parameters 
# 
echo 
echo "The original parameters: $*" 
echo "Now shifting 2..." 
shift 2 
echo "Here's the new first parameter: $1" 
echo 
exit 
$ 
$ ./bigshiftparams.sh alpha bravo charlie delta 
The original parameters: alpha bravo charlie delta 
Now shifting 2... 
Here's the new first parameter: charlie'
$
相关推荐
Xの哲學9 小时前
Linux 指针工作原理深入解析
linux·服务器·网络·架构·边缘计算
乌萨奇也要立志学C++10 小时前
【Linux】进程信号(二)信号保存与捕捉全解析、可重入函数、volatile
linux·服务器
行初心10 小时前
uos基础 sys-kernel-debug.mount 查看mount文件
运维
CryptoPP10 小时前
使用 KLineChart 这个轻量级的前端图表库
服务器·开发语言·前端·windows·后端·golang
Ai1731639157910 小时前
2025.11.28国产AI计算卡参数信息汇总
服务器·图像处理·人工智能·神经网络·机器学习·视觉检测·transformer
一水鉴天10 小时前
整体设计 定稿 之1 devOps 中台的 结论性表述(豆包助手)
服务器·数据库·人工智能
1***y17810 小时前
DevOps在云中的Rancher
运维·rancher·devops
无垠的广袤11 小时前
【工业树莓派 CM0 NANO 单板计算机】本地部署 EMQX
linux·python·嵌入式硬件·物联网·树莓派·emqx·工业物联网
414a11 小时前
LingJing(灵境):Linux Amd64局域网设备访问靶机教程
linux·安全·web安全·网络安全·lingjing·灵境
tianyuanwo11 小时前
多平台容器化RPM构建流水线全指南:Fedora、CentOS与Anolis OS
linux·运维·容器·centos·rpm