2010-08-26 82 views
4

有什麼方法可以找到shell腳本範圍內可用的變量。Unix shell腳本 - 打印範圍內的所有可用變量

這種情況就是這樣,我們正在使用一些第三方工具,我們可以使用特定的命名約定創建shell腳本來自定義輸出。我們知道某些參數正在傳遞給我們的定製shell腳本,但我們想知道還有哪些內容正在傳遞。

謝謝。

回答

6

這很容易;)

env 
+1

ENV並不總是顯示一切。 – ptriller 2014-01-16 12:19:07

0

這聽起來像你想的環境變量,所以使用export -p。輸出(由每個POSIX的形式爲export variable=value的行組成)的引用方式可以由shell解析。它也在大多數shell中按變量名排序。

如果你想要所有的shell參數(對於你的用例來說,只有當腳本是源代碼而不是被稱爲獨立程序的時候,這個參數纔是相關的),使用set(同樣,它在POSIX中, ,並且它在大多數shell中被排序)。

9

的命令是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變量 - 命令,像typesetlocal可以在一些貝殼(kshbash)一起使用,允許使用的功能中作用域shell變量的。 環境變量是進程實例的全局變量。

0

這可能是真的簡單,但...

grep = <your script>