![스크립트를 입력하기 위한 이스케이프 변수](https://linux55.com/image/164518/%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%9E%85%EB%A0%A5%ED%95%98%EA%B8%B0%20%EC%9C%84%ED%95%9C%20%EC%9D%B4%EC%8A%A4%EC%BC%80%EC%9D%B4%ED%94%84%20%EB%B3%80%EC%88%98.png)
Bash에서는 다음을 파일에 넣으려고 했습니다.
for pid in $(ps -lef | grep ssh | grep 2048 | awk '{print $4}'); do kill -9 $pid; done
FileA에 어떻게 넣으려고 해도 항상 변수가 실제 값으로 대체됩니다. EOF와 에코가 있습니다. 불운.
나의 궁극적인 목표는 FileA에 한 행의 콘텐츠를 포함시키는 것입니다.
답변1
"I've EOF"라고 말하면 시도했다는 의미라고 생각합니다.여기 문서, 하지만 heredoc을 인용해 보셨나요?단어?
cat <<'EOF' >FileA
for pid in $(ps -lef | grep ssh | grep 2048 | awk '{print $4}'); do kill -9 $pid; done
EOF
단어가 인용되지 않으면 here-document의 모든 행은 매개변수 확장, 명령 대체 및 산술 확장을 거치게 됩니다. 문자 순서 \newline은 무시되며 '\', '$ 문자를 인용하려면 '\'를 사용해야 합니다. " 그리고 "" .