一文掌握shell脚本中shift的用法及功能

一文掌握shell脚本中shift的用法及功能

游戏|数码彩彩2024-04-08 7:42:11488A+A-

概述

今天主要介绍下shell脚本中shift的一些用法,这个命令还是相对比较少见的。


一、shift介绍

shift命令用于对参数的移动(左移),通常用于在不知道传入参数个数的情况下依次遍历每个参数然后进行相应处理(常见于linux中各种程序的启动脚本)。

简而言之,shift命令表示参数向左偏移,后面可跟数字(数字大小在参数个数范围内)


二、实验

1、依次读取输入的参数并打印参数个数:

#!/bin/bash
while [ $# != 0 ];do
echo "第一个参数为:$1,参数个数为:$#"
shift
done
一文掌握shell脚本中shift的用法及功能

 

输出结果:

./run.sh a b c d e f
一文掌握shell脚本中shift的用法及功能

 

从上可知 shift(shift 1) 命令每执行一次,变量的个数($#)减一

(之前的$1变量被销毁,之后的$2就变成了$1),而变量值提前一位。

同理,shift n后,前n位参数都会被销毁。


2、测试shift n

#!/bin/bash
echo "参数个数为:$#,其中:"
for i in $(seq 1 $#)
do
 eval j=$$i
 echo "第$i个参数($"$i"):$j"
done
shift 3
 
echo "执行shift 3操作后:"
echo "参数个数为:$#,其中:"
for i in $(seq 1 $#)
do
 #通过eval把i变量的值($i)作为变量j的名字
 eval j=$$i
 echo "第$i个参数($"$i"):$j"
done
一文掌握shell脚本中shift的用法及功能

 

输出结果:

./shift.sh a b c d e f
一文掌握shell脚本中shift的用法及功能
点击这里复制本文地址 版权声明:本文内容由网友提供,该文观点仅代表作者本人。本站(https://www.angyang.net.cn)仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

昂扬百科 © All Rights Reserved.  渝ICP备2023000803号-3网赚杂谈