이 명령은 Linux에서는 잘 작동하지만 다음 작업을 수행할 때는 OS X Mountain Lion에서 작동합니다.
rm !(myfile)
bash는 다음과 같이 불평합니다.
bash: !: event not found
OS X에서도 똑같이 할 수 있는 방법이 있나요?
답변1
extglob
에 특별한 의미를 부여하는 옵션을 설정하지 않았기 때문입니다 !
.
Bash에서 다음을 작성하십시오.
shopt -s extglob
그런 다음 명령이 예상대로 실행되어야 합니다.
기본적으로,!
확장하다가장 최근에 실행된 백그라운드(비동기) 명령의 프로세스 ID입니다. extglob
세트 로 !
사용할 수 있습니다패턴 매칭, 그러나 그 뒤에 오는 괄호와 함께 사용해야 합니다 ()
.
물론 이 줄을 추가하여 ~/.bash_profile
Terminal.app을 열 때마다 설정되도록 할 수도 있습니다. OS X는 기본적으로 로그인 셸을 실행하므로 이러한 옵션은 Linux 터미널 에뮬레이터에서 익숙하지 ~/.bash_profile
않은 방식으로 설정해야 합니다 .~/.bashrc