bash가 공백으로 시작하는 명령을 저장하지 않는 이유는 무엇입니까?


48

다음과 같은 일련의 명령을 수행하면 :

$ ls
$ grep abc file.txt

그런 다음 위쪽 화살표 키를 사용하여 이전 것을 얻으십시오. 터미널에는 마지막 cmd ( grep여기서는)가 표시됩니다

그러나 내가 이런 식으로하면 :

$ ls
$   grep abc file.txt

여기서 grep공간 앞에는 최대 누르면 제공 ls하지 grep.

왜 이런거야?


답변:


52
echo $HISTCONTROL
ignoreboth

남자 배쉬 :

히스 트롤

히스토리 목록에서 명령이 저장되는 방법을 제어하는 ​​콜론으로 구분 된 값 목록. 값 목록에가 포함되어 있으면 ignorespace공백 문자로 시작하는 행이 기록 목록에 저장되지 않습니다. 값을 지정 ignoredups하면 이전 기록 항목과 일치하는 행이 저장되지 않습니다. 의 값은 및의 ignoreboth약어입니다 .ignorespaceignoredups


3
그리고 HISTCONTROL설정되어 ignoreboth디폴트에 ~/.bashrc의해 제공되는 debian적어도.
Stéphane Chazelas

1
사용 사례는 ignorespace무엇입니까?
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

1
우분투 14.04에서 기본값 ignoreboth은 일종의 성가신입니다.
Nick Gammon

6
Ciro, 나는 당신이 명령을 입력 echo "drop database mydb" | mysql -u root -pPassword하고 기록에 저장하지 않도록 할 수 있다고 가정합니다 .
제레미

2
맥 사용자의 경우, HISTCONTROL은 아무것도 설정되어 있지 않은, 그래서 당신은 당신의 bash_profile 또는 유사에 추가해야합니다 - unix.stackexchange.com/questions/115917/...
chrismarx
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.