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

  • bmarian22

    bmarian22

    22 Aralık 2007
  • Mr_BrettHooge

    Mr_BrettHoog

    3 Ocak 2011
  • NikkoNantone

    NikkoNantone

    21 Kasım 2011