SORU
8 Kasım 2010, PAZARTESİ


/Komut kabuk Bash: "eğer tam olarak Ne anlama geliyor=$'\n'?

EĞERLER çevre satır besleme karakteri için değişken ayarlar aşağıdaki örnek,...

IFS=$'\n'
  • Bu nedirdolar işaretiyani tam olarak?
  • Bu özel olarak ne yapar dava mı?
  • Burada bu konuda daha fazla okuyabilirim (Google aramalarında özel karakterler izin vermez ve aksi halde Ne aramak için bilmiyorum) özel kullanım?

Ben EĞERLER ortam değişkeni nedir ve \n karakteri (satır besleme) biliyorum, ama neden sadece aşağıdaki formu kullanın: IFS="\n" çalışmıyor)?

Üzerinden bir dosyanın her satırı döngü istiyorum ve döngü için kullanmak istiyorsanız, örneğin, bunu yapabilirim:

for line in (< /path/to/file); do
    echo "Line: $line"
done

Ancak, bu EĞERLER satır besleme karakteri için ayarlanmadığı sürece doğru çalışmaz. İşe almak için bunu yapmak zorundayım:

OLDIFS=$IFS
IFS=$'\n'
for line in (< /path/to/file); do
    echo "Line: $line"
done
IFS=$OLDIFS

Not:İhtiyacım yok başka bir yol için yapıyor aynı şeyi, biliyorum pek çok başka zaten... ben sadece merak O $'\n' ve merak eğer biri gelip bana bir açıklama.

Teşekkürler!

CEVAP
8 Kasım 2010, PAZARTESİ


Normalde bash dize hazır dizileri kaçış yorumlayamaz. Eğer öyleyse yazma \n "\n" '\n', o bir linebreak - mektup n (ilk harf) veya ters eğik çizgi ve ardından mektubu n (diğer iki olgu).

$'somestring' kaçış dizileri ile dize hazır bir sözdizimi. Yani 14*,* 15 ** aslında bir linebreak aksine.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Artorius FullPower

    Artorius Ful

    29 Temmuz 2007
  • kremosakhaz

    kremosakhaz

    25 AĞUSTOS 2006
  • UKF Dubstep

    UKF Dubstep

    29 NİSAN 2009