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

  • Apple

    Apple

    22 HAZİRAN 2005
  • mliskIT

    mliskIT

    29 Mart 2012
  • MrExcite96

    MrExcite96

    17 ŞUBAT 2011