国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Linux Shell > 正文

shift妙用之解決shell編程中的入?yún)栴}

2020-07-27 19:22:22
字體:
供稿:網(wǎng)友
我說過了,shell是我的常規(guī)武器,目前雖然還不純熟,但是我愛shell這門語言,在Linux下面混,總要寫腳本。程序員是有基因,對編程語言是有偏好的,你讓我寫C代碼,我會覺得很爽,會有困難,會有痛苦的摸索和學(xué)習(xí),但是,我愿意;學(xué)習(xí)shell/python,我也很樂意,甚至Lisp這種冷門的語言我也充滿了好奇,雖然現(xiàn)在Go和Erlang我一點也不懂,但是我按耐不住對這兩種語言的興趣,只要我抽出手來,一定會和他們纏綿一番。有愛就會有恨,我痛苦地意識到到自己是個很情緒化的程序員,哪怕我一遍遍地罵自己bitch is bitchy,一遍遍的告訴自己要端正態(tài)度,學(xué)習(xí)CSS/HTML/仍然讓我痛苦的死去活來,可以預(yù)計的是,讓我學(xué)習(xí)Java我也會很痛苦(我也清楚地明白,痛苦之烈一定不如學(xué)習(xí)CSS/HTML的痛苦)。我知道我在跑題,我賤人就是矯情,但是我壓抑的太難受了,不找個地方發(fā)泄一下,我會把自己憋壞。

shell編程經(jīng)常會遇到參數(shù)個數(shù)不定的這種情況,這種情況怎么處理呢?shift就要閃亮登場了。

$#是入?yún)⒌膫€數(shù),
$@是當前所有的入?yún)?
$0是腳本的名字
$1是第一個入?yún)ⅲ?2是第二個入?yún)ⅰ!!!?

Bash定義了$1到$9,一共9個位置變量,這就決定了我們不能無限制的用$11之類的來獲取更多的入?yún)ⅰ?
這時候就需要用shift了,shift會將入?yún)⒂乙疲缦聢D所示:




我們看一段shell代碼,加深理解:

復(fù)制代碼 代碼如下:

root@manu:~/code/shell/temp# cat test.sh
#!/bin/sh
until [ $# -eq 0 ]
do
echo "$@"
shift
done


看下輸出:

復(fù)制代碼 代碼如下:

root@manu:~/code/shell/temp# ./test.sh 10 9 8 7 6 5 4 3 2 1
10 9 8 7 6 5 4 3 2 1
9 8 7 6 5 4 3 2 1
8 7 6 5 4 3 2 1
7 6 5 4 3 2 1
6 5 4 3 2 1
5 4 3 2 1
4 3 2 1
3 2 1
2 1
1


現(xiàn)在,如果入 主站蜘蛛池模板: 广灵县| 昌吉市| 阳曲县| 疏勒县| 华安县| 吉林省| 饶河县| 长治市| 云阳县| 新干县| 盐源县| 台中市| 上虞市| 无为县| 宣恩县| 耒阳市| 扎囊县| 通城县| 望城县| 平和县| 吴江市| 东山县| 大新县| 文化| 东海县| 水富县| 云南省| 高唐县| 永仁县| 麻城市| 马山县| 凤山县| 金阳县| 昆明市| 当阳市| 长岭县| 无极县| 和龙市| 花莲市| 双辽市| 新沂市|