码迷,mamicode.com
首页 > 系统相关 > 详细

shell变量------shift

时间:2018-10-25 18:03:36      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:用途   some   hid   nbsp   执行   移动   alt   dso   isp   

shift 语句

shift语句按照如下方式重新命名所有的位置参数变量,即$2成为$1,$3成为$2...在程序中每使用一次shift语句,都使所有的位置参数依次向左移动一个位置,并使位置参数$#减1,直到减到0为止。

示例:

技术分享图片
[tibasbil@ibastst /ibas]$ set -- "I am" handsome boy
[tibasbil@ibastst /ibas]$ echo $#
3
[tibasbil@ibastst /ibas]$ echo $1 
I am
[tibasbil@ibastst /ibas]$ echo $2
handsome
[tibasbil@ibastst /ibas]$ echo $3
boy
[tibasbil@ibastst /ibas]$ shift
[tibasbil@ibastst /ibas]$ echo $#
2
[tibasbil@ibastst /ibas]$ echo $1
handsome
[tibasbil@ibastst /ibas]$ echo $2
boy
[tibasbil@ibastst /ibas]$ echo $3

[tibasbil@ibastst /ibas]$ shift
[tibasbil@ibastst /ibas]$ echo $#
1
[tibasbil@ibastst /ibas]$ echo $1
boy
[tibasbil@ibastst /ibas]$ echo $2

[tibasbil@ibastst /ibas]$ shift
[tibasbil@ibastst /ibas]$ echo $#
0
[tibasbil@ibastst /ibas]$ echo $1

[tibasbil@ibastst /ibas]$ 
#一共有三个参数,每执行一次shift参数前移一次,参数个数减一,一直到减到0为止
View Code

此外,Shift 命令还有另外一个重要用途, Bsh 定义了9个位置变量,从 $1 到 $9,这并不意味着用户在命令行只能使用9个参数,借助 shift 命令可以访问多于9个的参数。Shift 命令一次移动参数的个数由其所带的参数指定。例如当 shell 程序处理完前九个命令行参数后,可以使用 shift 9 命令把 $10 移到 $1。

技术分享图片
[tibasbil@ibastst /ibas]$ set -- "I am" a handsome boy
[tibasbil@ibastst /ibas]$ echo $#
4
[tibasbil@ibastst /ibas]$ echo $1
I am
[tibasbil@ibastst /ibas]$ echo $2
a
[tibasbil@ibastst /ibas]$ echo $3
handsome
[tibasbil@ibastst /ibas]$ echo $4
boy
[tibasbil@ibastst /ibas]$ echo $1
I am
[tibasbil@ibastst /ibas]$ shift 3
[tibasbil@ibastst /ibas]$ echo $1
boy
[tibasbil@ibastst /ibas]$ 
View Code

 

shell变量------shift

标签:用途   some   hid   nbsp   执行   移动   alt   dso   isp   

原文地址:https://www.cnblogs.com/yu-sheng/p/9851290.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!