넓은 그림에서 당신은 보여줍니다 :
....
...cd maldetect-* &&␠|<-window boundary
bash ./install.sh
(세로 막대 앞에있는 문자는 HTML
또는 유니 코드 char U + 2420 (공백 기호).
그 공간은 거기에 있어야합니다 (HAS). 윈도우 경계가 없다면,
다음 줄은 다음과 같습니다.
...cd maldetect-* && bash ./install.sh
공간이 없으면 & amp; & amp; 공간이 없다.
그것과 'bash'단어의 시작 사이에 해서는 안된다. bash에서 실행하는 경우 상처를 입지 만, 예를 들어 일반적으로 이중 앰퍼샌드와 공백 사이에는 공백이 있어야합니다.
당신의 공간이 거기에 있어야한다면, 당신의 문제를 일으키는 원인이 될지도 모릅니다 ... 흠 ....
ARG! 당신은 이것을 "에"붙입니다 ... 배쉬 ... 어 ... 오 ...
bash에 붙여 넣는 경우 bash는 몇 년 전에 자동 완성 된 변경 사항으로 인해 붙여 넣기에 '버그가 있습니다'(의견 수사)입니다. 만약 당신이 붙여 넣은 텍스트에 'TAB'이 있다면 (예, 들여 쓰기) bash의 "autocomplete"기능을 호출 할 것입니다. (필자는이 점에 대해 불평하지만 아무도 bash에 텍스트를 붙여 넣지 않는다고 들었습니다. 기침 , 기침 ) ('bug-bash@gnu.org list '에 불만을 토로한다. 그것이 자동 완성을 호출 할 때 - 많은 시간에 질문을하기 때문에 붙여 넣은 텍스트의 다음 문자를 삼킬 것입니다 :
> ls <'complete-key' pressed>
Display all 199 possibilities? (y or n)
일반적으로 붙여 넣은 텍스트가 손상됩니다. 어쨌든 내 탭은 일반적으로 빈 줄 (코드를 들여 쓰고 있기 때문에) 때문에 나에게 문제가되지 않았다. 예전에는 공백 행 (@ 행 시작 또는 공백 만 눌 렸을 때 앞에 공백이있는 경우)에서 코드 완성 누름을 무시하는 옵션이있었습니다. 이것은 빈 명령 줄 (빈 tty 줄이 아님)에서 완료 문자 만 무시하도록 변경되었습니다. 여러 commmands를 입력에 붙여 넣는 것은 보통 bash로 간주됩니다. 빈 명령 행이 아닙니다. 말할 필요도없이 이것은 많은 문제를 일으 킵니다.
나를위한 불완전한 해결책은 TAB에서 코드 완성 키를 다시 매핑하는 것이 었습니다.
역 인용 ( " ") (above tilde key). (same bug occurs if you have
귀하의 텍스트에서,하지만 나를 위해, 나는 그것을 덜 자주 많이 사용합니다. 홈 디렉토리의 '.inputrc'파일에서 'readline'(라인을 읽거나 편집을 허용하기 위해 bash가 사용하는 방법)을 제어하고 동작합니다. 특히, ".inputrc"섹션에는 bash 관련 설정 옵션이 있습니다 :
$if bash
# use backquote as completion (yes, that's shift-'~')
# not ideal, but quickest "hack" to get mostly
# transparent pasting (backquote isn't used nearly as often as TAB)
TAB:tab-insert
"`":complete
$endif
대안 : 1) 붙여 넣기 전에 모든 탭을 공백으로 변환하십시오. 따라서 TAB은 명령 완료를 트리거하지 않습니다. 2) 항상 텍스트를 파일에 씁니다.
파일을 소스 (.) 만들거나 실행 파일로 만들고 첫번째 줄에 '#! / bin / bash'를 추가하여 쉘 스크립트로 만드십시오.
이론적으로는 명령 완성도를 떨어 뜨릴 수 있어야하지만 너무 많이 사용하므로 시도하지 않아도됩니다.
지금 내가 일반적으로하는 일은 1 개의 창 (일반적으로 gvim)에서 스크립트를 편집하는 것이며 gvim을 시작한 창에서 스크립트의 연속적인 반복을 실행하여 '붙여 넣기'를 피합니다. 확실히 제 1 선택은 아니었지만 bash는 완전한 키가 그 방향으로 나를 밀어 넣은 후에 물건을 삼켜 버리는 입력을 부패 시켰습니다.
버그를보고 할 경우 해결책을 제시 할 준비를하십시오! ;-)이 문지름입니다 :
> ls \<carriage return>
>> [here people want to be able to hit 'TAB' and get an autocomplete of
of the files in the current directory. It looks like an empty line,
but it is a really a continued command line from the previous line.
bash에 명령을 붙여 넣을 때도 똑같은 일이 발생합니다 ... 일부는 탭을 사용하여 원하는 것을 원하지 않습니다 ...
(Ps 희망이 도움이되고 난 완전히 왼쪽 필드로 이동하지 않았지만 '붙여 넣기'언급했을 때 bash - script ...처럼 보이고 탭을 사용하여 언급 한 (들여 붙이기도 함) 내가 만난 똑같은 문제가 그렇듯이.
완벽한 키로 역 따옴표를 사용하는 것은 때로는 조금 어색하지만, 너무 자주 붙여 넣기 된 텍스트 탭이 있습니다 ... 오 잘)