
ファイルが存在しない場合は、ファイルを見つけてファイルを作成して追加するbashスクリプトを作成しています。
Host localhost
ForwardAgent yes
それで"line then new line 'tab' then text"
敏感なフォーマットだと思います。私はあなたがこれを行うことができることを知っています:
cat temp.txt >> data.txt
でも、2行あるので変に見えます。この形式で追加する方法はありますか?
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ユーティリティは標準入力を標準出力にコピーし、ゼロ個以上のファイルをコピーします。
-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