읽기 전용 변수 설정 해제

읽기 전용 변수 설정 해제

readonlyKorn Shell에서 변수를 설정 해제하거나 변경할 수 있습니까 ? 저는 AIX 5를 사용하고 있습니다.

답변1

들어본 적도 없습니다. 적어도 명백한 방법은 작동하지 않습니다. 즉, unset읽기 전용 변수를 사용하거나 읽기 전용 속성을 제거 할 수 없습니다 typeset +r. 이것은 내가 본 모든 ksh 변형과 bash에서 작동하지만 분명히 ksh 버전이 있습니다.AIX 4.3에서허용됩니다 typeset +r(zsh에서도 허용됨).

기술적으로는 외부에서 이 작업을 수행할 수 있습니다. 디버거를 사용하여 ksh 프로세스에 연결하고 ksh 프로세스가 가변 읽기 전용 정보를 저장하는 메모리의 비트를 뒤집습니다. 따라서 읽기 전용 변수는 절대적으로 안전한 기능이 아닙니다.

명령을 시작하기 전에 변수를 다른 값으로 설정해야 하는 경우 다음과 같이 하십시오 env.

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

또는 제한된 범위(함수에서) 내에서 변수를 읽기 전용으로 만드십시오.

관련 정보