이 문서에 변수를 어떻게 포함할 수 있나요?

이 문서에 변수를 어떻게 포함할 수 있나요?

어떤 상황에서 사용자 정의 전역 변수를 사용하려고 하는데 cat <<eof>> filename작동하지 않습니다. 나는 이 포럼의 간단한 예 cat << eof에서 내가 원하는 것을 찾았고 , 그 결과 여기로 연결되었습니다.http://www.tldp.org/LDP/abs/html/here-docs.html. 하지만 저는 아래와 같은 것을 원하고 다음을 추가 합니다 >>.filename아니요일하다. ):

#!/bin/bash

#after testing I will define this in .bashrc or somewhere?
set IP_ADDR = "123.123.123.123"

#empty the file in case there is something in it
truncate -s 0 sample.conf

# open a file and append
cat <<EOF >> sample.conf
  This is my sample config file
  Server IP = $IP_ADDR
  this is the last line of my sample config file
EOF

#print the file to verify
cat sample.conf

그러면 빈 문자열이 생성됩니다.Server IP =

sed누락된 변수 값을 제외하고 파일을 작성한 경우에는 작동하지만 IP 주소(또는 기타 항목)를 리터럴 문자열로 쉽게 사용할 수는 없습니다.

또한 스크립트를 실행할 때 명령줄 인수로 사용할 리터럴 문자열이 없을 수도 있습니다. $1코드 블록 내에서 작동합니다 cat << eof >> filename. 나는 그것을 증명했다. 하지만 이 스크립트를 실행하면 바로 값에 액세스할 수 없습니다...

답변1

set IP_ADDR = "123.123.123.123"

부정확하다. 다음을 수행해야 합니다.

IP_ADDR="123.123.123.123"

(공백 없음).

관련 정보