bash 프롬프트에 명령을 붙여 넣을 때 명령이 기록에 없습니다. 어떻게 추가 할 수 있습니까?


6

을 사용하여 OS X 또는 Ubuntu bash 프롬프트에 명령을 붙여 넣으면 명령 CmdV이 실행 되어도 기록에 없습니다. 명령은 입력 한 경우에만 기록에 있습니다.

붙여 넣은 명령을 bash의 기록으로 가져 오는 방법은 무엇입니까?


2
이건 말도 안돼 히스토리 저장을 담당하는 쉘 (bash)은 사용자가 무언가를 붙여 넣었는지 입력했는지 알 수 없습니다. 이 결과를 발생시키는 다른 작업이 있어야합니다.
Kevin Reid

1
@Kevin Reid, 일반적으로 나는 당신에게 동의하지만, 이것은 OS X이고 bash는 FOSS 소프트웨어이기 때문에 Apple이 한 일을 알고 있습니다.
UtahJarhead

답변:


5

줄의 시작 부분에 공백과 함께 명령을 저장하지 않는 'ignorespace'지시문이 있습니다. 이는 잘라내어 붙여 넣을 때 가능합니다. 가장 오래된 명령 인스턴스 만 저장하는 'ignoredups'지시문이 있습니다. 긴 히스토리 파일이 있고 이전에 명령을 사용한 경우에 해당 될 수 있습니다. 그러나 두 가지 모두 내 OSX10.6 시스템에서 설정되지 않았으므로 전원을 켜지 않으면 상황을 설명하지 못할 수 있습니다.

다른 시나리오는 다른 사용자에게 소송을 제기했다는 것입니다. 다른 곳에서 명령을 잘라 붙여 붙여서 무언가를 고치면 해당 사용자 (일반적으로 루트 사용자)에서 탈퇴 할 때가 될 수 있습니다 bash 기록은 사용자 권한이 아닌 권한있는 사용자 기록에 있으므로 사용할 수 없습니다.


4

또는 HISTCONTROL이외의 다른 것으로 설정할 수 있습니다 .ignorespaceignoreboth

set HISTCONTROL=ignoredups 작동합니다.


1

KDE Konsole에서이 문제가 발생했습니다.

내 .bashrc를 편집하여 변경

HISTCONTROL=ignoreboth

HISTCONTROL=ignoredups

고쳤다. 나는 과거에 "앞에 공간을두면 내 역사에 추가하지 마십시오"라는 편리한 도구를 원했을 것 같지만 터미널 사이에 많은 복사 및 붙여 넣기를 수행하고 실제로 성가 시게되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.