Daha karmaşık komut dizileri için, cat
komutu burada bulunan bir belgeyle kullanmayı düşünmelisiniz . Temel biçim
command > file << END_TEXT
some text here
more text here
END_TEXT
END_TEXT etiketinin alıntılanıp alıntılanmamasına bağlı olarak iki farklı davranış vardır:
alıntılanmamış etiket : içindekiler normal kabuk genişletmelerinden sonra yazılır
alıntı etiket : bu belgenin içeriği, olağan kabuk genişletmeleri olmadan tam anlamıyla işlenir
Örneğin, aşağıdaki komut dosyasını ele alalım
#!/bin/bash
var1="VALUE 1"
var2="VALUE 2"
cat > file1 << EOF1
do some commands on "$var1"
and/or "$var2"
EOF1
cat > file2 << "EOF2"
do some commands on "$var1"
and/or "$var2"
EOF2
Sonuçlar
$ cat file1
do some commands on "VALUE 1"
and/or "VALUE 2"
ve
$ cat file2
do some commands on "$var1"
and/or "$var2"
Komut dosyanızdan kabuk komutları çıkarıyorsanız, büyük olasılıkla alıntılanan formu istersiniz.