shell script里的shift是参数左移,有没有右移的命令呢

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
weiweishuo
帖子: 53
注册时间: 2012-06-29 13:05

shell script里的shift是参数左移,有没有右移的命令呢

#1

帖子 weiweishuo » 2012-07-26 11:20

我想让参数队列向右移位,有没有可能?
头像
cuihao
帖子: 4793
注册时间: 2008-07-24 11:33
来自: 郑州
联系:

Re: shell script里的shift是参数左移,有没有右移的命令呢

#2

帖子 cuihao » 2012-07-26 11:27

:em04 空位谁填
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 绿
Site: CUIHAO.TK    Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: shell script里的shift是参数左移,有没有右移的命令呢

#3

帖子 eexpress » 2012-07-26 15:13

不断复制出$0?
脚本名。
● 鸣学
funicorn
帖子: 1318
注册时间: 2005-09-13 4:56
系统: Ubuntu Jammy Jellyfi

Re: shell script里的shift是参数左移,有没有右移的命令呢

#4

帖子 funicorn » 2012-07-26 16:00

从逻辑上说,位置参数右移与位置参数左移的区别仅仅是位置参数的定义左右调换一下,所以左移就够了
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: shell script里的shift是参数左移,有没有右移的命令呢

#5

帖子 eexpress » 2012-07-26 16:11

从逻辑上说
funicorn, 移位有2种。循环和填充。
多看asm。
● 鸣学
weiweishuo
帖子: 53
注册时间: 2012-06-29 13:05

Re: shell script里的shift是参数左移,有没有右移的命令呢

#6

帖子 weiweishuo » 2012-07-26 16:56

funicorn 写了:从逻辑上说,位置参数右移与位置参数左移的区别仅仅是位置参数的定义左右调换一下,所以左移就够了
我现在想一次子拿到6个参数里的前5个,假如有右移参数的命令不会很方便么?(直接右移一位就搞定了)
相反,现在只有shift命令,实现起来困难多了吧
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: shell script里的shift是参数左移,有没有右移的命令呢

#7

帖子 eexpress » 2012-07-26 20:24

参数不是你这样用的。各种正式点的脚本,都有专门处理参数的函数的,强大得不行的。

shell脚本,只是做为粘合剂而存在的,比较低端。当然你只是玩shell,自己处理,是有限了。
● 鸣学
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: shell script里的shift是参数左移,有没有右移的命令呢

#8

帖子 自由建客 » 2012-07-26 20:37

代码: 全选

man getopt
另,复制一份到数组,用个下标,爱怎么移就怎么移。
回复