/opt/nginx/conf.d/default.conf
쉘 스크립트를 통해이 내용으로 파일을 작성하고 존재하지 않는 경우 파일을 작성해야합니다.
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
}
쉘 스크립트를 통해 여러 줄 컨텐츠를 작성하는 방법
디렉토리를 만들었습니다
sudo mkdir -p /opt/nginx/conf.d
그러나 나는 파일을 쓰는 법을 모른다.
답변
요약 : >>
추가 [ -f file ]
하고 테스트 하는 데 사용 합니다.
시험
if [ ! -f myfile ]
then
cat <<EOF > myfile
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name $server ;
root /usr/share/nginx/html;
}
EOF
fi
- 구문을
cat <<EOF
” 여기 문서 “라고합니다. $server
값으로 대체되거나 정의되지 않은 경우 비어 있습니다.- 지적했듯이 작은 따옴표
'EOF'
를 사용 하여 var가 있으면 교체하지 않아도됩니다. -
여러 개의 반향을 가질 수도 있습니다 (반향이 너무 많으면 유지하기가 어려울 수 있음)
echo "## foo.conf" > foo.conf echo param1=hello >> foo.conf echo param2=world >> foo.conf
선행
bash에는 직접 접두사가 없으며 임시 파일을 사용하십시오.
mv file file_tmp
cat new_content file_tmp > file
rm file_tmp
또는 편집
sed -i -e '1r new_file' -e 'wq' file
답변
/opt/nginx/conf.d/default.conf 파일이 없으면 정적 문자열을 파일로 print (f)하십시오.
[ -f /opt/nginx/conf.d/default.conf ] || printf 'server {\n listen 80 default_server;\n listen [::]:80 default_server;\n server_name _;\n root /usr/share/nginx/html;\n}\n' > /opt/nginx/conf.d/default.conf