case $1 in
bash 파일을 작성하는 데 문제가 있습니다. 나는 전에 시도했다
cat <<EOT > /etc/init.d/startup.sh
#!/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
case "$1" in
start)
bash /root/install.sh >> /root/installation_log.txt 2>&1
;;
stop|restart|reload)
;;
esac
EOT
startup.sh
하지만 문제는 모든 내용을 but $1
라인 에 쓴다는 것입니다.
case "$1" in
~이 되다
case "" in
수술 후.
무엇을 해야 할까요?
답변1
어떤 방식으로든 연산자 EOF
에 전달된 종결자를 참조합니다 .<<
cat << 'EOT' > file
$var
EOT
또는
cat << \EOT
cat << EO\T
cat << "E"'O'T
cat << ""EOT
이것은문서화되고 표준적인 방식이 문서 내에서 어떤 종류의 확장도 발생하지 않도록 합니다.
답변2
가변 인플레이션을 EOT
방지하기 위해 첫 번째를 변경하십시오.'EOT'
예를 들어
cat <<'EOT' > /etc/init.d/startup.sh