나는개행 문자와 다음 텍스트 줄, 한 줄, 한 단락 또는 코드 블록으로 표시됩니다.
제가 아는 한 줄짜리와 여러 단락으로 된 방법은 다음과 같습니다.
sudo bash -c "echo '' >> /etc/bash.bashrc" && sudo bash -c "echo 'alias www=\"cd /var/www/html\"' >> /etc/bash.bashrc"
이것은 한 줄이지만 한 단락 방식은 아닙니다( &&
a 필요).
한편, 다른 방법으로는,여기 문서단일 단락(아니요 &&
)이지만 여러 줄이 있으므로 한 줄, 단일 단락 방식을 찾고 있습니다. 아는 게 있나요?
답변1
printf '\nalias www="cd /var/www/html"\n' | sudo tee -a /etc/bashrc
printf
.를 포함하여 C 스타일 백슬래시 이스케이프를 해석합니다 \n
. tee -a
추가할 지정된 파일을 열고 수신된 입력을 파일에 씁니다.
이를 기존에 적용할 수도 있습니다 bash -c
.
sudo bash -c "printf '\\nalias www=\"cd /var/www/html\"\\n' >> /etc/bashrc"
정말로 피하고 싶다면 최상위 쉘 연산자를 사용하지 않습니다.
답변2
다음은 이를 사용하고 작동하게 만드는 몇 가지 농담입니다 sudo
.
printf '%s\n' a '' 'alias www="cd /var/www/html"' . ,p q | ed -s /etc/bash.bashrc
여기와 같은 문자열:
ed -s /etc/bash.bashrc <<< $'a\n\nalias www="cd /var/www/html"\n.\n,p\nq'
내부 편집 ,p
으로 대체하거나w
sed -e '${G;G;s|$|alias www="cd /var/www/html"|' -e'}' /etc/bash.bashrc
-i
( gnu sed
) 또는 -i ''
( )를 추가하면 bsd sed
바로 편집할 수 있습니다.
cat <<< $'\nalias www="cd /var/www/html"' >> /etc/bash.bashrc