Shell Scripting için biraz yeniyim ve betiğin içinde yeni bir dosya oluşturmak ve içerik eklemek ve sonra kapatmak istiyorum. Kullanıcıdan argüman almamalıdır. Yoldaki ve içerikteki her şey önceden tanımlanmıştır. Nasıl yapabilirim?
Shell Scripting için biraz yeniyim ve betiğin içinde yeni bir dosya oluşturmak ve içerik eklemek ve sonra kapatmak istiyorum. Kullanıcıdan argüman almamalıdır. Yoldaki ve içerikteki her şey önceden tanımlanmıştır. Nasıl yapabilirim?
Yanıtlar:
Sadece çıkış yönlendirmesini kullanın. Örneğin
#!/bin/bash
echo "some file content" > /path/to/outputfile
>Tüm yazacak stdintarafından sağlanan stdoutbir echodosyaya outputfileburada.
Alternatif olarak, bunun için teeve bir boru da kullanabilirsiniz . Örneğin
echo "some file content" | tee outputfile
Örneklerden herhangi birinin var olanın üzerine yazacağını unutmayın outputfile.
Mevcut bir dosyaya eklemeniz gerekiyorsa >>, >veya yerine kullanın tee -a.
Bu satırda kullanıcı girişini kabul etmezseniz, burada hiçbir kullanıcı girişi davranışı değiştiremez.
Bence bir senaryoda yeni bir dosya oluşturmak için burada bir doc kullanmak daha üstün . Okunabilirliği teşvik ettiğine inandığım daha temiz görünüyor.
Örneğin:
cat > filename <<- "EOF"
file contents
more contents
EOF
"-"İçinde <<-olacak sekmeli girintiler için izin isteğe bağlıdır soyulmuş dosya oluşturulduğunda. Buradaki alıntılar "EOF", "burada doktor" un herhangi bir değişiklik yapmasını engelliyor.