스크립트를 입력하기 위한 이스케이프 변수

스크립트를 입력하기 위한 이스케이프 변수

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은 무시되며 '\', '$ 문자를 인용하려면 '\'를 사용해야 합니다. " 그리고 "" .

관련 정보