"set -ovi" 철자가 틀린 것을 취소하는 방법은 무엇입니까?

"set -ovi" 철자가 틀린 것을 취소하는 방법은 무엇입니까?

나는 처형하고 싶었지만 set -o vi그렇게 했다 set -ovi.

이제 확인하면 set -o다음과 같은 이상한 옵션이 추가로 표시됩니다.

$ set -o
set -o
...
update_terminal_cwd; 

결과는 update_terminal_cwd;각 명령에 인쇄됩니다.

쉘을 다시 시작하지 않고 어떻게 오타를 취소할 수 있나요?

답변1

이렇게 하면 한 효과가 다른 효과로 반전되므로 set -ovi반복하세요 .set +ovi

set -o v실제로 수행하는 작업은 기록(설정된 경우)도 표시하는 상세 옵션을 활성화하는 것입니다 .

가장 중요한 값 세트는 echo "$-"일반적으로 himBH대화형 쉘에서만 인쇄됩니다.

set -o더 긴 값 목록은 또는 로 인쇄됩니다 set +o. 전자는 설정된(on) 또는 설정되지 않은(off) 값에 대한 사람이 읽을 수 있는 설명을 인쇄합니다. 후자는 set상태를 복원하기 위해 실행할 수 있는 거의 완전한 목록을 인쇄합니다.

자세한 상태를 확인하려면 set -o또는 목록을 사용 하고 다음 명령 중 하나를 사용하여 설정을 해제하세요.set +o

set +o verbose
set +o v

예, +설정되지 않음(해제), 이상함을 의미합니다. 이해합니다.

답변2

set +v

(일반적으로 set -<char>옵션이 켜져 있으면 set +<char>꺼집니다.)

답변3

또는 다음과 같이 차이점을 확인하십시오(아마도 무모한 가정일 수 있으며 옵션은 환경 변수처럼 전달되지 않습니다).

set -o > now
bash -ic 'set -o' > default
diff default now

관련 정보