不過,阿舍今天不是要來介紹這些 Bash Shell 內建的變數們,而是要來介紹如何 看見 它們哩 ! 這些 Bash Sell 的變數是用 export 或是 printenv 指令都查不出來的,而是要用 set 指令才會看到包含 Bash Sell 內建變數在內的所有變數哩 ! ...
![]() |
用 declare 指令可以看到變數屬性 |
用下面的指令就可以看到所有的變數,但是,有一個小小的問題,那個就是,用 set 指令來看的話,會連定義在記憶體中函式的程式碼都會一併的被顯示出來,可是,阿舍對那些函式並不是那麼有興趣哩 ! 阿舍只想查一下,目前全部的變數的設定情形哩 !
set | less
所以,阿舍就再去找到一個 declare 的指令來用,這個 declare 指令可以用來宣告變數,也可以用來依不同的選項來顯示指定類型的環境變數,如果不給任何的選項給 declare 指令的話,效果就和直接執行 set 指令相同,而以阿舍只想看環境變數,不想看到函式的話,那就用下面這一行的指令來查就可以了。
declare -p | more
另外,相反的,如果是你只想看目前有定義了那些函式的話,則是可以用下面第一行的指令來查看所有的函式名稱,然後,如果你還想看看這些函式的程式碼的話,那就要用下面第二行的指令來看囉 !
另外,相反的,如果是你只想看目前有定義了那些函式的話,則是可以用下面第一行的指令來查看所有的函式名稱,然後,如果你還想看看這些函式的程式碼的話,那就要用下面第二行的指令來看囉 !
declare -F | more
declare -f | more
阿舍上面有提到,這個 declare 指令除了可以用來查詢之外,也可以用來定義變數,尤其是要設定成不可變更的唯讀變數的時候,用這個 declare 指令加上 -r 選項就可以達到想要的效果了哩 !
阿舍上面有提到,這個 declare 指令除了可以用來查詢之外,也可以用來定義變數,尤其是要設定成不可變更的唯讀變數的時候,用這個 declare 指令加上 -r 選項就可以達到想要的效果了哩 !
# 定義 ayu 為唯讀變數
$declare -r ayu=arthuryu
$echo
$ayu
arthuryu
# 試著變更 ayu 變數會得到錯誤訊息 ...
$ ayu='Arthur Yu'
-bash: ayu: readonly variable
問題還是沒解決嗎 ?? 這裡有更多的 Ubuntu 相關教學可以參考哩 ...
買本阿舍寫的電子書帶走 - Ubuntu 指令新手馬上會用到的 35 個技法
沒有留言 :
張貼留言