출력 리디렉션 및 공백


9

나는 이것에 대해 편집증이지만 간단한 질문입니다.

차이점이 있습니까?

cat file1 | egrep -oP "[Mm]y string" > /home/user/file.txt

cat file1|egrep -oP "[Mm]y string">/home/user/file.txt

즉, 파이프 (|)와 리디렉션 (>) 문자를 채우는 공백이 있으면 문제가됩니까? 나는 실제로 공간이 없으면 그것을 원하지 않을 때 출력 파일에 공백이 생길 것이라는 편집증입니다. 누구든지 명확히 할 수 있습니까? (중요한 경우 Ubuntu 12 / bash 사용)


유일한 차이점은 a) 외형과 b) bash에서 명령 줄을 편집 할 때의 편리함입니다. 예를 들어 "단어"는 공백으로 구분되므로 공백이 |없거나 이전 "단어"를 삭제하기 위해 >입력 Ctrl-W하면 원하는 것보다 더 많이 삭제됩니다. 커서 이동을위한 저두처럼 키 입력 Esc-fEsc-b
CAS

답변:


8

쉘 명령 행에서 인용 부호없는 공백은 명령 구문 분석 중 단어를 구분하는 역할 만합니다. 명령이 보는 인수 나 표준 입력 스트림에서도 전달되지 않습니다.


연산자 뒤에 공백을 사용하면 보안 취약점이없는 것입니까? 지금은 어려움을 겪고 있지만 악의적 인 사용자가 의도 한 파일이 "fileName"일 때 "fileName"과 같은 파일을 사용하여 의도 한 작업을 변경할 수있는 일반적인 악용이 있습니다.
CrippledTable
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.