파일이 존재하지 않는 경우 파일을 찾은 다음 파일을 만들고 추가하는 bash 스크립트를 작성하고 있습니다.
Host localhost
ForwardAgent yes
그래서 "line then new line 'tab' then text"
민감한 포맷인 것 같아요. 나는 당신이 이것을 할 수 있다는 것을 알고 있습니다:
cat temp.txt >> data.txt
하지만 두 줄이 있기 때문에 이상해 보입니다. 이 형식으로 추가하는 방법이 있습니까?
echo "hello" >> greetings.txt
답변1
# possibility 1:
echo "line 1" >> greetings.txt
echo "line 2" >> greetings.txt
# possibility 2:
echo "line 1
line 2" >> greetings.txt
# possibility 3:
cat <<EOT >> greetings.txt
line 1
line 2
EOT
# possibility 4 (more about input than output):
arr=( 'line 1' 'line 2' );
printf '%s\n' "${arr[@]}" >> greetings.txt
파일에 쓰기 위해 sudo(다른 사용자 권한)가 필요한 경우 다음 명령을 사용하십시오.
# possibility 1:
echo "line 1" | sudo tee -a greetings.txt > /dev/null
# possibility 3:
sudo tee -a greetings.txt > /dev/null <<EOT
line 1
line 2
EOT
답변2
echo -e "Hello \nWorld \n" >> greetings.txt
답변3
또 다른 방법은tee
tee -a ~/.ssh/config << END
Host localhost
ForwardAgent yes
END
tee
매뉴얼 페이지에서 일부 선택 라인:
tee 유틸리티는 표준 입력을 표준 출력으로 복사하여 0개 이상의 파일을 복사합니다.
-a - 파일을 덮어쓰는 대신 파일에 출력을 추가합니다.
답변4
다음은 파일에 여러 줄을 추가하는 예입니다.
{
echo ' directory "/var/cache/bind";'
echo ' listen-on { 127.0.0.1; };'
echo ' listen-on-v6 { none; };'
echo ' version "";'
echo ' auth-nxdomain no;'
echo ' forward only;'
echo ' forwarders { 8.8.8.8; 8.8.4.4; };'
echo ' dnssec-enable no;'
echo ' dnssec-validation no;'
} >> your_file.txt