Каково точное значение IFS = $ '\ n'?

Если следующий пример, который устанавливаетIFS переменная окружения для символа перевода строки ...

IFS=Что этознак доллара имею в видуименно так?Что он делает в этом конкретном случае?Где я могу прочитать больше об этом конкретном использовании (Google не позволяет использовать специальные символы в поиске, и я не знаю, что искать в противном случае)?

Я знаю чтоIFS переменная среды, и что\n символ (перевод строки), но почему бы просто не использовать следующую форму:IFS="\n" (который не работает)?

Например, если я хочу просмотреть каждую строку файла и использовать цикл for, я могу сделать это:

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

Тем не менее, это не будет работать правильно, еслиIFS устанавливается на символ перевода строки. Чтобы заставить его работать, я должен сделать это:

OLDIFS=$IFS
IFS=

Замечания: Мне не нужен другой способ сделать то же самое, я уже знаю много других ... Мне только интересно об этом$'\n' и задавался вопросом, может ли кто-нибудь дать мне объяснение этому.

\n'
Что этознак доллара имею в видуименно так?Что он делает в этом конкретном случае?Где я могу прочитать больше об этом конкретном использовании (Google не позволяет использовать специальные символы в поиске, и я не знаю, что искать в противном случае)?

Я знаю чтоIFS переменная среды, и что\n символ (перевод строки), но почему бы просто не использовать следующую форму:IFS="\n" (который не работает)?

Например, если я хочу просмотреть каждую строку файла и использовать цикл for, я могу сделать это:

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

Тем не менее, это не будет работать правильно, еслиIFS устанавливается на символ перевода строки. Чтобы заставить его работать, я должен сделать это:

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

Замечания: Мне не нужен другой способ сделать то же самое, я уже знаю много других ... Мне только интересно об этом$'\n' и задавался вопросом, может ли кто-нибудь дать мне объяснение этому.

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

Замечания: Мне не нужен другой способ сделать то же самое, я уже знаю много других ... Мне только интересно об этом$'\n' и задавался вопросом, может ли кто-нибудь дать мне объяснение этому.

\n' Что этознак доллара имею в видуименно так?Что он делает в этом конкретном случае?Где я могу прочитать больше об этом конкретном использовании (Google не позволяет использовать специальные символы в поиске, и я не знаю, что искать в противном случае)?

Я знаю чтоIFS переменная среды, и что\n символ (перевод строки), но почему бы просто не использовать следующую форму:IFS="\n" (который не работает)?

Например, если я хочу просмотреть каждую строку файла и использовать цикл for, я могу сделать это:

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

Тем не менее, это не будет работать правильно, еслиIFS устанавливается на символ перевода строки. Чтобы заставить его работать, я должен сделать это:

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

Замечания: Мне не нужен другой способ сделать то же самое, я уже знаю много других ... Мне только интересно об этом$'\n' и задавался вопросом, может ли кто-нибудь дать мне объяснение этому.

Ответы на вопрос(6)

Ваш ответ на вопрос