變量篇
某些特定變量會影響到bash的環(huán)境钧萍,如:PATH褐缠。
變量可用于腳本路徑,以便換主機時減少不必要的麻煩风瘦。
變量就是以一組文字或符號等队魏,來替換一些設(shè)置或一串保留的數(shù)據(jù)。
在bash當(dāng)中,當(dāng)一個變量名稱尚未被設(shè)置時胡桨,默認(rèn)的內(nèi)容是空官帘,另外在變量設(shè)置時還是需要符合某些規(guī)定的否則會設(shè)置失敗。
每一種Shell 的語法都不相同昧谊,在變量使用上刽虹,bash在你沒有設(shè)置的變量中強制去echo時,它會顯示出空值呢诬,在其他某些Shell中涌哲,隨便去echo一個不存在的變量,它是會出現(xiàn)錯誤信息的尚镰。
變量內(nèi)容以一個等號 " = " 來鏈接阀圾。
雙引號內(nèi)的特殊字符如"$" 等,可保持原有的特性狗唉。
單引號內(nèi)的特殊字符僅為一般字符(純文本)初烘。
在一串命令的執(zhí)行中,還需要借由其他額外的命令所提供的信息時分俯,可使用反單引號
['命令']或 [$(命令) ]
若該變量為擴增變量內(nèi)容時肾筐,則可用"$變量名稱"或${變量}累加內(nèi)容。
若該變量需要在其他子程序執(zhí)行缸剪,則需要以export來使變量變成環(huán)境變量
如下
echo PATH
通常大寫字符為系統(tǒng)默認(rèn)變量吗铐,自行設(shè)置變量可以用小寫字符,方便判斷(純粹依照用戶習(xí)慣)
取消變量的方法為使用“unset:“unset 變量名稱”
什么是子進(jìn)程橄登?在當(dāng)前的shll下抓歼,去啟用一個新的shell,新的那個shell就是子進(jìn)程拢锹。在一般狀態(tài)下谣妻,父進(jìn)程的自定義變量是無法在子進(jìn)程內(nèi)使用的,可以通過exprot將變量變成環(huán)境變量后卒稳,就能在子進(jìn)程下面使用蹋半。
單引號與雙引號最大的不同點在于雙引號仍然可以保有變量的內(nèi)容,但單引號內(nèi)僅能是一般字符充坑,而不會有特殊符號减江。
環(huán)境變量
環(huán)境變量可以幫我們實現(xiàn)很多功能,包括目錄的變換捻爷、提示字符的顯示辈灼、執(zhí)行文件查找的路徑等等
我們可以使用兩個命令來查看環(huán)境變量與常見環(huán)境變量說明,分別是''env 也榄、export''.
基本上巡莹,在linux默認(rèn)的情況中司志,使用{大寫字母}來設(shè)置的變量一般為系統(tǒng)內(nèi)定需要的變量.
變量的有效范圍
環(huán)境變量=全局變量
自定義變量=局部變量
當(dāng)啟動一個shell,操作系統(tǒng)就會分配一內(nèi)存區(qū)域給shell使用降宅,此內(nèi)存中的變量可以讓子進(jìn)程使用骂远。
若父進(jìn)程利用export功能,可讓自定義變量內(nèi)容寫道上述內(nèi)存區(qū)域當(dāng)中(環(huán)境變量)
當(dāng)加載另一個shell時哦(即啟動子進(jìn)程腰根,而離開原本的父進(jìn)程)激才,子shell可以將父shell的環(huán)境變量所在的內(nèi)存區(qū)域?qū)胱约旱沫h(huán)境變量區(qū)塊當(dāng)中.