sub print_hash { my %hash = @_; while ((my $key, my $value) = each %hash) { print "$key => $value\n"; } } --------------------------------------------------------------------------------- sub print_hash { my $hashref = shift; while ((my $key, my $value) = each %$hashref) { print "$key => $value\n"; } } 在程序2中应该是shift弹出第一个数给$hashref.这样结构应该和程序1不一样呀。 但结果是一样的。 低中...
by snss1983 - Perl - 2008-09-12 17:38:52 阅读(1819) 回复(4)
while getopts f:s:v: OPTION ; do case $OPTION in f) a=fff aa=$OPTARG;; s) b=sss bb=$OPTARG;; v) c=vvv cc=$OPTARG;; \?) echo "usage" exit 1;; esac done shift $(( $OPTIND-1 )) echo "this is f argument,$a,$aa" echo "this ia s argument,$b,$bb" echo "this is v argument,$c,$cc" 上面是从书上看到关于getopts的例子,自己改了一下,但有点不清楚,shift用在这里...
我在shell里碰道`符号,请问是做什么的!像g++ `pkg-config opencv --libs --cflags opencv` drawing.c -o drawing中`符号是什么意思呢?这是一段编译drawing.c的命令
看人用过,一个小的shell 主要用于,测试对mount过来的东西,进行读写(测试比如多路径,去掉一路时会不会中断,停顿多少时间) 看人家用因该是,对mount的东西,进行写 date ,屏幕同时显示 Fri Apr 14 09:38:04 CST 2006 每一秒显示一次,这样有中断,或,停顿,就很明显,希望大家给写个大概,我再改,自己一点头绪也没有。 如果有好的类似测试工具也可以推荐 谢谢 [ 本帖最后由 骑猪看日出 于 2006-6-2 10:58 编辑 ]
module="xxx" major=`cat /proc/devices | awk "\\$2==\"$module\" {print \\$1}"` 各位高手,以上这句为何意啊? 其中的\\如何解释?!
#!/bin/sh if test "$LOGNAME"!="root" then echo "Your logname is $LOGNAME" else echo "I am $LOGNAME" fi 为什么我用root登陆的话,也是执行Your logname is $LOGNAME。不是 I am $LOGNAME
#!/bin/ksh proc_a() { v=aaaa } main() { v=mmmm proc_a echo $v } main 以上程序会显示[aaaa] 有什么办法象 C 程序那样, 过程的变量只在过程内部有效呢?
无论是trap这个TSTP信号还是使用默认设置, 向shell发送该信号都没有任何反应(既不执行trap的动作, 缺省的stop效果没起作用), 什么原因呢? 我试过bash和ksh都不行 ...不信你们可以在自己的机器上试一试