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

首頁 > 學院 > 開發設計 > 正文

Linux程式設計-11.ShellScript(bash)--(11)參數與變數

2019-11-18 17:25:13
字體:
來源:轉載
供稿:網友
在繼續下去介紹function之前,我們必須停下來介紹"參數與變數"。

--------------------------------------------------------------------------------

參數(Parameters)是用來儲存"值"的資料型態,有點像是一般語言中的變數。它可以是個名稱(name)、數字(number)、或者是以下所列出來一些特殊符號(SpecialParameters)。
在shell中,變數是由name形式的參數所構成的。



--------------------------------------------------------------------------------

在前面的許多例中,我們事實上已經看到許多參數的運用。要設定一個Parameter實際很簡單:
name=value

例如說:

MYHOST="foxman"

而要使用它時,則是加個"$"符號。

echo$MYHOST



--------------------------------------------------------------------------------

位置參數(PositionalParameters)

--------------------------------------------------------------------------------

所謂的位置參數便是0,1,2,3,4,5,6,7,8,9...。使用時,用$0,$1,$2...。
位置參數是當script被載入時,後面所附加的參數。$0是本身,$1則為第一個參數,$2為第二個,依此類推。而當PositionalParameters被function所使用時,它們會被暫時取代(下一節會介紹function)。

例如以下這個script:
#!/bin/sh
#Filename:position
echo$0
echo$1

執行時:
[foxman@foxmanbash]#./positionabc
./position
abc

當位置參數超過兩位數時,有特別的方法來展開,稱為Expansion。



--------------------------------------------------------------------------------

特殊參數(SpeicalParameters)
這些符號,非常不人性,對新手來說很困擾。但上手後,會覺得方便無比,有些如果您看不懂的話,就--算了,不用浪費太多時間在上面。



--------------------------------------------------------------------------------

*星號
將PositionalParameters合成一個參數,其間隔為IFS內定參數的第一個字元(見內建變數一節)。
例:
#!/bin/sh
#starsig
echo$*

執行:
[foxman@foxmanbash]#starsigabcdefg
abcdefg



--------------------------------------------------------------------------------

@at符號
與*星號類同。不同之處在於不參照IFS。

例:
#!/bin/sh
#atsig
echo$@

執行:
[foxman@foxmanbash]#atsigabcdefg
abcdefg



--------------------------------------------------------------------------------

#井字號
展開Positionalparameters的數量。

例:
#!/bin/sh
#poundsig
echo$#

執行
[foxman@foxmanbash]#poundsigabcdefg
7



--------------------------------------------------------------------------------

?問號
最近執行的foregroundpipeline的狀態。



--------------------------------------------------------------------------------

-減號
最近執行的foregroundpipeline的選項參數。



--------------------------------------------------------------------------------

$錢錢錢
本身的
[foxman@foxmanbash]#echo$0
/bin/bash



--------------------------------------------------------------------------------

_底線符號
顯示出最後一個執行的命令。

[foxman@foxmanbash]#echo$_
bash



--------------------------------------------------------------------------------

內建變數(ShellVariables)
Bash有許多內建變數,像PATH、HOME、ENV......等等。這些內建變數將在另一節中,專門一一說明。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泰安市| 赤城县| 连州市| 资阳市| 军事| 博白县| 扎兰屯市| 涟水县| 保德县| 历史| 喀喇沁旗| 洮南市| 武邑县| 河东区| 成都市| 雷州市| 沂南县| 芒康县| 钟祥市| 咸宁市| 武强县| 如皋市| 通山县| 海南省| 建阳市| 福清市| 湛江市| 苍山县| 深圳市| 洛宁县| 修武县| 乌拉特前旗| 泌阳县| 阳春市| 始兴县| 海兴县| 兴文县| 革吉县| 宁波市| 揭东县| 惠州市|