Описание тега sunshine-coast
Если вы напрямую использовать строки В для
петли, он будет работать на слово (здесь на одно слово: весь контент $испытание
, так как это цитирует), а не за характер. Вам нужно использовать , пока
петля с прочитать
для того, чтобы разобрать побуквенное, или ввести числовой параметр, что бы перебирать струны.
Кроме того, при использовании читать
, вы должны убедиться, что переводы строк и пробельные символы не интерпретируются как разделители, и заставлять читать
читать один символ за раз.
Вот рабочий вариант:
#!/бин/Баш
тест="это
тест"
функции printf %S "с$тест" | в то время как ИФ= читайте -р-н 1 а; выполните
Если [[ "$а" == $'\п' ]] ; затем
Эхо "нашел строку"
интернет
Е %С "долларов"
сделано
Вы могли бы заменить $'\Н'
с $'\012'
и $'\x0a'
, поскольку все они представляют одну и ту же строку кода. Но это не то же, что \015
или \Р
- это означает возврат каретки (возврат к началу строки). На Linux системах, строки представляются в виде \П
, но на Windows, например, они представлены последовательностью \р\н
вместо. Именно поэтому, если у вас был текстовый файл с Windows, вы можете обнаружить, строк и поиск \Р
.