나는 처형하고 싶었지만 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