bash가 여전히 기본적으로 히스토리 대체를 사용하는 이유를 아는 사람이 있습니까? 내이 .bashrc
포함되었습니다 set +H
많은 여러 해 동안 만 다른 사람들은 아직이 기능에 의해 물린 얻고있다.
거의 모든 사람들이 복사 - 붙여 넣기 기능을 갖춘 단말기를 사용하고있는 점을 감안 하고 컴파일 bash는 readline
라이브러리 와 역사 치환은 기본적으로 활성화 된 경우에만 대화 형 쉘에서, 모든의 기능이 어떤 이유 정말 있는가? 모든 셸에서 기본적으로 비활성화되어 있어도 기존 스크립트는 손상되지 않습니다.
히스토리 대체가 실패한 이유를 모르는 경우이를 시도하십시오.
$ set +H # disable feature history substitution
$ echo "WTF???!?!!?"
WTF???!?!!?
$ set -H # enable feature history substitution
$ echo "WTF???!?!!?"
echo WTF???echo WTF???!?!!?
WTF???echo WTF???!?!!?
(모든 스크립팅에 대해 기본적으로 비활성화되어 있고 실행하기 전에 결과를 확인하는 기능이있는 경우이 기능에 중대한 문제가있는 것은 분명합니다 shopt -s histverify
.)
또한보십시오:
&
입니까? 왜 파일이 포함 된 파일 이름을 이스케이프하거나 인용해야 ?
합니까? 이것이 문제라고 생각하는 사람들을위한 UI가 있습니다.
!$
하루에 여러 번 사용 하며 !!
꽤 자주 사용합니다. 나는 다른 역사 대체물을 많이 사용하지 않는다는 것을 인정해야하지만, 몇 년 동안 사용했던 쉘의 기본 동작이 갑자기 바뀌면 분명히 불행 할 것입니다.
ls -l foo/bar/baz/weeble.cpp
에less !$
비해 리콜 명령 및 편집 그것.