![bash 스크립트를 사용하여 파일에 블록 문자열 변수를 추가하는 방법은 무엇입니까?](https://linux55.com/image/12877/bash%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8C%8C%EC%9D%BC%EC%97%90%20%EB%B8%94%EB%A1%9D%20%EB%AC%B8%EC%9E%90%EC%97%B4%20%EB%B3%80%EC%88%98%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
~/.bash_profile에 다음을 추가하고 싶습니다.
# ---------------
# PERSONNAL EDITS
# anaconda3
. /opt/anaconda3/etc/profile.d/conda.sh
이를 위해 다음 스크립트를 사용합니다.
#!/bin/bash
app_str=\
'\n
# ---------------\n
# PERSONNAL EDITS\n
\n
# anaconda3\n
. /opt/anaconda3/etc/profile.d/conda.sh'
echo -e $app_str >> ~/.bash_profile
그러나 결과는 다음과 같습니다.
<lines above...>
# ---------------
# PERSONNAL EDITS
# anaconda3
. /opt/anaconda3/etc/profile.d/conda.sh
파일에 추가된 각 줄 앞에는 공백이 있습니다. 공백을 제거하는 방법?
답변1
답변2
나는 사용하는 것이 좋습니다여기 문서대신에:
cat >> ~/.bash_profile <<'EOF'
# ---------------
# PERSONNAL EDITS
# anaconda3
. /opt/anaconda3/etc/profile.d/conda.sh
EOF
IMHO 여러 줄 문자열을 에코하는 것보다 읽기 쉽고 유지 관리가 더 쉽습니다.