我说过了,shell是我的常规武器,目前虽然还不纯熟,但是我爱shell这门语言,在Linux下面混,总要写脚本。程序员是有基因,对编程语言是有偏好的,你让我写C代码,我会觉得很爽,会有困难,会有痛苦的摸索和学习,但是,我愿意;学习shell/python,我也很乐意,甚至Lisp这种冷门的语言我也充满了好奇,虽然现在Go和Erlang我一点也不懂,但是我按耐不住对这两种语言的兴趣,只要我抽出手来,一定会和他们缠绵一番。有爱就会有恨,我痛苦地意识到到自己是个很情绪化的程序员,哪怕我一遍遍地骂自己bitch is bitchy,一遍遍的告诉自己要端正态度,学习CSS/HTML/仍然让我痛苦的死去活来,可以预计的是,让我学习Java我也会很痛苦(我也清楚地明白,痛苦之烈一定不如学习CSS/HTML的痛苦)。我知道我在跑题,我贱人就是矫情,但是我压抑的太难受了,不找个地方发泄一下,我会把自己憋坏。 shell编程经常会遇到参数个数不定的这种情况,这种情况怎么处理呢?shift就要闪亮登场了。 $#是入参的个数, $@是当前所有的入参 $0是脚本的名字 $1是第一个入参,$2是第二个入参。。。。 Bash定义了$1到$9,一共9个位置变量,这就决定了我们不能无限制的用$之类的来获取更多的入参。 这时候就需要用shift了,shift会将入参右移,如下图所示: 我们看一段shell代码,加深理解: 看下输出: 现在,如果入?⒌母鍪?欢ǎ?颐侨绾未?砣氩文兀 上面这个伪码片段表明如何处理不定的入参,通过store_input,我们将每一个入参保存下来,然后,我们就可以处理了。 最后的最后,给出一个处理不定参数的例子: 输出如下: 参考文章:
推荐整理分享shift妙用之解决shell编程中的入参问题,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
linux批量备份服务器配置文件和目录的脚本 功能:1.只在备份机执行,远程的服务器只需要允许备份机用root通过密钥登录;2.在备份机上配置需要备份哪些服务器,在NEED_BACKUP_SERVERS这个数组增减
Bash的For循环(根据每次递增的数) 用BashShell的for循环,每次递增数是就行了。#!/bin/bash##每次递增的数ADD_NUM=#递增1的话取消下行注释,并相应的注释另一句for的开头的#for((i=1;i=;i++
消耗CPU资源的shell脚本 #!/bin/sh#filenamekillcpu.shif[$#!=1];thenecho"USAGE:$0CPUs"exit1;fiforiin`seq$1`doecho-ne"i=0;whiletruedoi=i+1;done"|/bin/sh&pid_array[$i]=$!;doneforiin"${pid_array[@]}";doecho'kill'$i';';done使用