echo 명령에서 있는 그대로 나열하기 위해 env 파일($ 문자 포함)을 어떻게 만들 수 있습니까?

echo 명령에서 있는 그대로 나열하기 위해 env 파일($ 문자 포함)을 어떻게 만들 수 있습니까?

파일의 따옴표 안에 있는 내용을 반영하는 스크립트에서 호출된 파일을 만들려고 합니다. 그냥 생략했습니다 $.

이것이 내가하려는 일입니다.

echo -e "export ORACLE_BASE=/oracle/APP/grid \n 
export ORACLE_HOME=/oracle/APP/grid/12.1.0/grid\n
export PATH=$ORACLE_HOME/bin:$PATH\n export ORACLE_SID=+ASM”>/home/oragrid/ASM.env 

echo하지만 파일에 제대로 들어가지 않습니다 .

답변1

echo -e이식성을 목적으로 하는 스크립트에는 사용 하지 마십시오 . 내장된 셸을 사용하면 printf()이전과 마찬가지로 모든 작업을 수행할 수 있으며 셸 전체에서 호환성을 계속 유지할 수 있습니다. 그러나 요구 사항에 따라 접두사가 붙은 변수를 확장하지 않고 여러 줄 문자열을 저장하려면 $here-doc를 사용하십시오.

cat << 'EOF' > /home/oragrid/ASM.env
export ORACLE_BASE=/oracle/APP/grid
export ORACLE_HOME=/oracle/APP/grid/12.1.0/grid
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=+ASM
EOF

EOF이렇게 하면 변수를 확장하는 대신 모든 것이 그대로 유지됩니다 .

관련 정보