Aix

取消設置只讀變數

  • January 6, 2012

readonly是否可以在 Korn Shell中取消設置或更改變數?我正在使用 AIX 5。

從來沒聽說過。至少,顯而易見的方法是行不通的:您不能unset使用 readonly 變數或刪除 readonly 屬性typeset +r。這適用於我見過的所有 ksh 變體和 bash,但顯然有一些 ksh 版本,例如在 AIX 4.3上允許typeset +r(zsh 也允許)。

從技術上講,您可以從外部執行此操作:使用調試器連接到 ksh 程序並翻轉記憶體中 ksh 程序儲存變數為只讀資訊的位。所以只讀變數不是絕對的安全特性。

如果您需要在啟動命令之前將變數設置為不同的值,請通過以下方式進行env

readonly foo='some value'
env foo='other value' mycommand

或者,在受限範圍內(在函式中)將變數設為只讀。

引用自:https://unix.stackexchange.com/questions/28459