Unix / Linux - Kabuk Değiştirme
İkame nedir?
Kabuk, bir veya daha fazla özel karakter içeren bir ifadeyle karşılaştığında değişiklik yapar.
Misal
Burada değişkenin baskı değeri, değeri ile değiştirilir. Aynı zamanda,"\n" yeni bir satır ile değiştirilir -
#!/bin/sh
a=10
echo -e "Value of a is $a \n"
Aşağıdaki sonucu alacaksınız. İşte-e seçeneği ters eğik çizgi kaçışlarının yorumlanmasını sağlar.
Value of a is 10
Aşağıdaki, olmadan sonuçtur -e seçenek -
Value of a is 10\n
Echo komutunda kullanılabilecek aşağıdaki kaçış dizileri -
Sr.No. | Kaçış ve Açıklama |
---|---|
1 | \\ ters eğik çizgi |
2 | \a uyarı (BEL) |
3 | \b geri tuşu |
4 | \c son satır satırını bastır |
5 | \f form besleme |
6 | \n Yeni hat |
7 | \r satırbaşı |
8 | \t yatay sekme |
9 | \v dikey sekme |
Kullanabilirsiniz -E ters eğik çizgi kaçışlarının yorumlanmasını devre dışı bırakma seçeneği (varsayılan).
Kullanabilirsiniz -n yeni bir satırın eklenmesini devre dışı bırakma seçeneği.
Komut Değiştirme
Komut ikamesi, kabuğun belirli bir komut dizisini gerçekleştirdiği ve ardından çıktılarını komutların yerine ikame ettiği mekanizmadır.
Sözdizimi
Komut ikamesi, bir komut şu şekilde verildiğinde gerçekleştirilir:
`command`
Komut değişimini gerçekleştirirken, tek tırnak karakterini değil, geri alıntıyı kullandığınızdan emin olun.
Misal
Komut ikamesi genellikle bir komutun çıktısını bir değişkene atamak için kullanılır. Aşağıdaki örneklerin her biri, komut ikamesini gösterir -
#!/bin/sh
DATE=`date`
echo "Date is $DATE"
USERS=`who | wc -l`
echo "Logged in user are $USERS" UP=`date ; uptime` echo "Uptime is $UP"
Yürütme üzerine, aşağıdaki sonucu alacaksınız -
Date is Thu Jul 2 03:59:57 MST 2009
Logged in user are 1
Uptime is Thu Jul 2 03:59:57 MST 2009
03:59:57 up 20 days, 14:03, 1 user, load avg: 0.13, 0.07, 0.15
Değişken Değiştirme
Değişken ikamesi, kabuk programlayıcısının durumuna bağlı olarak bir değişkenin değerini değiştirmesini sağlar.
İşte tüm olası oyuncu değişiklikleri için aşağıdaki tablo -
Sr.No. | Form ve Açıklama |
---|---|
1 | ${var} Var değerini değiştirin . |
2 | ${var:-word} Eğer var boş veya ayarlanmadan, sözcük için ikame edilirvar. Var'ın değeri değişmez. |
3 | ${var:=word} Eğer var sıfır veya ayarlanmadan, var değerine ayarlanırword. |
4 | ${var:?message} Eğer var sıfır veya ayarlanmadan, mesaj standart hataya yazdırılır. Bu, değişkenlerin doğru ayarlandığını kontrol eder. |
5 | ${var:+word} Eğer var ayarlanır, kelime var için ikame edilir. Var'ın değeri değişmez. |
Misal
Aşağıda, yukarıdaki ikamenin çeşitli durumlarını gösteren örnek verilmiştir -
#!/bin/sh
echo ${var:-"Variable is not set"}
echo "1 - Value of var is ${var}" echo ${var:="Variable is not set"}
echo "2 - Value of var is ${var}" unset var echo ${var:+"This is default value"}
echo "3 - Value of var is $var" var="Prefix" echo ${var:+"This is default value"}
echo "4 - Value of var is $var" echo ${var:?"Print this message"}
echo "5 - Value of var is ${var}"
Yürütme üzerine, aşağıdaki sonucu alacaksınız -
Variable is not set
1 - Value of var is
Variable is not set
2 - Value of var is Variable is not set
3 - Value of var is
This is default value
4 - Value of var is Prefix
Prefix
5 - Value of var is Prefix