Aix
取消設置只讀變數
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
或者,在受限範圍內(在函式中)將變數設為只讀。