나는 간단한 스크립트는 printf와 출력을 파일로 리디렉션해야하지만 나는이 작업을 수행 할 때bash에서 감탄 부호를 인쇄하는 방법은?
배쉬 :!/빈/bash는 \ ntouch : 이벤트
printf "#!/bin/bash\ntouch /tmp/1234567890_$RUN" > /tmp/password-change-script_$RUN.sh
나는이 오류 나는 느낌표 벗어날 경우
를 찾을 수 없습니다printf "#\!/bin/bash\ntouch /tmp/1234567890_$RUN" > /tmp/password-change-script_$RUN.sh
그런 다음 이스케이프 문자는 여전히 파일에 존재한다.
cat /tmp/password-change-script_$RUN.sh
#\!/bin/bash
touch /tmp/1234567890_111
그러나이 특별한 경우에는 #!/bin/bash가 파일에 있어야합니다. 어떤 이유로 스크립트를 실행하는 바이너리 파일은 그렇지 않으면 파일을 읽지 않습니다.
아, 그 말이 맞는이 모두 단일 및 큰 따옴표로 작동합니다. – David
좋은 캐치 ................! – Satish
@David : 몇 가지 대안으로 내 대답을 업데이트했습니다. –