有什麼方法可以找到shell腳本範圍內可用的變量。Unix shell腳本 - 打印範圍內的所有可用變量
這種情況就是這樣,我們正在使用一些第三方工具,我們可以使用特定的命名約定創建shell腳本來自定義輸出。我們知道某些參數正在傳遞給我們的定製shell腳本,但我們想知道還有哪些內容正在傳遞。
謝謝。
有什麼方法可以找到shell腳本範圍內可用的變量。Unix shell腳本 - 打印範圍內的所有可用變量
這種情況就是這樣,我們正在使用一些第三方工具,我們可以使用特定的命名約定創建shell腳本來自定義輸出。我們知道某些參數正在傳遞給我們的定製shell腳本,但我們想知道還有哪些內容正在傳遞。
謝謝。
這很容易;)
env
這聽起來像你想的環境變量,所以使用export -p
。輸出(由每個POSIX的形式爲export variable=value
的行組成)的引用方式可以由shell解析。它也在大多數shell中按變量名排序。
如果你想要所有的shell參數(對於你的用例來說,只有當腳本是源代碼而不是被稱爲獨立程序的時候,這個參數纔是相關的),使用set
(同樣,它在POSIX中, ,並且它在大多數shell中被排序)。
的命令是set
從bash
手冊頁
set [--abefhkmnptuvxBCHP] [-o option] [arg ...]
Without options, the name and value of each shell variable are displayed in a
format that can be reused as input.
不要env
混淆這將打印出環境變量不shell變量的值。 shell變量可以將標記爲使用export
命令自動導出到後續子進程的環境中。
範圍作爲編程來看,只有真正適用於shell變量 - 命令,像typeset
和local
可以在一些貝殼(ksh
和bash
)一起使用,允許使用的功能中作用域shell變量的。 環境變量是進程實例的全局變量。
這可能是真的簡單,但...
grep = <your script>
ENV並不總是顯示一切。 – ptriller 2014-01-16 12:19:07