OnWorks Linux ve Windows Çevrimiçi İş İstasyonları

Logo

İş İstasyonları için Çevrimiçi Ücretsiz Barındırma

<Önceki | İçerik | Sonraki>

İşte Belgeler

Metnimizin çıktısını almak için iki farklı yönteme baktık; her ikisi de kaçırmak kom-


rica ederim. adı verilen üçüncü bir yol daha vardır. işte belge or işte senaryo. Buradaki belge, betiğimize bir metin gövdesi yerleştirdiğimiz ve bunu bir komutun standart girişine beslediğimiz ek bir G/Ç yeniden yönlendirme biçimidir. Bu şekilde çalışır:

komuta << simge

metin

simge

nerede komuta standart girişi kabul eden komutun adıdır ve simge gömülü metnin sonunu belirtmek için kullanılan bir dizedir. Komut dosyamızı buradaki belgeyi kullanacak şekilde değiştireceğiz:



#! / Bin / bash


# Sistem bilgi sayfasının çıktısını almak için program


TITLE="$HOSTNAME" İçin Sistem Bilgisi Raporu CURRENT_TIME=$(tarih +"%x %r %Z")

TIMESTAMP="$CURRENT_TIME, $USER tarafından oluşturuldu"


kedi << _EOF_

$TITLE

$TITLE

$TIMESTAMP

_EOF_

#! / Bin / bash


# Sistem bilgi sayfasının çıktısını almak için program


TITLE="$HOSTNAME" İçin Sistem Bilgisi Raporu CURRENT_TIME=$(tarih +"%x %r %Z")

TIMESTAMP="$CURRENT_TIME, $USER tarafından oluşturuldu"


kedi << _EOF_

$TITLE

$TITLE

$TIMESTAMP

_EOF_


Kullanmak yerine kaçırmak, betiğimiz artık şunu kullanıyor kedi ve burada bir belge. Dize _EOF_ (ortak bir kural olan "Dosya Sonu" anlamına gelir) belirteç olarak seçilmiştir ve gömülü metnin sonunu işaret eder. Belirtecin tek başına görünmesi gerektiğini ve satırın sonunda boşluk bulunmaması gerektiğini unutmayın.

Peki burada belge kullanmanın avantajı nedir? Çoğunlukla aynı kaçırmakancak varsayılan olarak buradaki belgelerdeki tek ve çift tırnaklar kabuk açısından özel anlamlarını kaybeder. İşte bir komut satırı örneği:



[ben@linuxbox ~]$ foo = bazı metinler

[ben@linuxbox ~]$ kedi << _EOF_

> $ foo

[ben@linuxbox ~]$ foo = bazı metinler

[ben@linuxbox ~]$ kedi << _EOF_

> $ foo


> "$foo"

> '$foo'

> \$foo

> _EOF_ biraz metin "biraz metin" 'biraz metin'

$ foo

> "$foo"

> '$foo'

> \$foo

> _EOF_ biraz metin "biraz metin" 'biraz metin'

$ foo


Gördüğümüz gibi kabuk tırnak işaretlerine dikkat etmiyor. Onlara sıradan karakterlermiş gibi davranır. Bu, alıntıları buradaki bir belgeye serbestçe yerleştirmemize olanak tanır. Bu, rapor programımız için kullanışlı olabilir.

Burada belgeler standart girişi kabul eden herhangi bir komutla kullanılabilir. Bu örnekte, bir dizi komutu bilgisayara iletmek için buradaki belgeyi kullanıyoruz. ftp Uzak bir FTP sunucusundan bir dosya almak için program:



#! / Bin / bash

# FTP yoluyla bir dosyayı almak için komut dosyası FTP_SERVER=ftp.nl.debian.org

FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz


ftp -n << _EOF_ $FTP_SERVER'ı aç

kullanıcı anonim me@linuxbox cd $FTP_PATH

esrar

$REMOTE_FILE alın hoşçakalın

_EOF_

ls -l $REMOTE_FILE

#! / Bin / bash

# FTP yoluyla bir dosyayı almak için komut dosyası FTP_SERVER=ftp.nl.debian.org

FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz


ftp -n << _EOF_ $FTP_SERVER'ı aç

kullanıcı anonim me@linuxbox cd $FTP_PATH

esrar

$REMOTE_FILE alın hoşçakalın

_EOF_

ls -l $REMOTE_FILE


Yönlendirme operatörünü "<<" yerine "<<-" olarak değiştirirsek, kabuk buradaki belgedeki baştaki sekme karakterlerini yok sayacaktır. Bu, burada belgenin girintili hale getirilmesine olanak tanır ve bu da okunabilirliği artırabilir:



#! / Bin / bash

# FTP yoluyla bir dosyayı almak için komut dosyası FTP_SERVER=ftp.nl.debian.org

#! / Bin / bash

# FTP yoluyla bir dosyayı almak için komut dosyası FTP_SERVER=ftp.nl.debian.org


FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz


ftp -n <<- _EOF_ $FTP_SERVER'ı aç

kullanıcı anonim me@linuxbox cd $FTP_PATH

esrar

$REMOTE_FILE alın hoşçakalın

_EOF_


ls -l $REMOTE_FILE

FTP_PATH=/debian/dists/lenny/main/installer-i386/current/images/cdrom REMOTE_FILE=debian-cd_info.tar.gz


ftp -n <<- _EOF_ $FTP_SERVER'ı aç

kullanıcı anonim me@linuxbox cd $FTP_PATH

esrar

$REMOTE_FILE alın hoşçakalın

_EOF_


ls -l $REMOTE_FILE


OnWorks'te En İyi OS Bulut Bilişimi: