예전에 질문드린 내용과 관련이 있는데 혹시 다른 분이 사용하실까봐 분리해서 올렸습니다.
아래와 같이 dummy.out이라는 파일의 명령줄에서 실행되는 명령이 있습니다.
vim -E -s dummy.out <<-EOF
:%s/old/new/g
:%s/old2/new2/g
:%s/old3/new3/g
:update
:quit
EOF
명령줄에서는 작동하지만 bash 파일 bashscript.sh에 추가하면
#!/bin/bash
# bash script
var01="start script"
echo $var01
vim -E -s dummy.out <<-EOF
:%s/old/new/g
:%s/old2/new2/g
:%s/old3/new3/g
:update
:quit
EOF
다음 오류가 발생합니다.
warning: here-document at line 7 delimited by end-of-file (wanted 'EOF')
이 bash 파일에서 이 명령줄 명령을 실행하려면 어떻게 해야 합니까?
답변1
글쎄, EOF는 내가 예상했던 것보다 훨씬 더 민감한 것 같습니다
이건 작동하지 않아
vim -E -s dummy.out <<-EOF
:%s/old/new/g
:%s/old2/new2/g
:%s/old3/new3/g
:update
:quit
EOF
이것은 실제로
vim -E -s dummy.out << EOF
:%s/old/new/g
:%s/old2/new2/g
:%s/old3/new3/g
:update
:quit
EOF