С Новым годом! Форум программистов, компьютерный форум, киберфорум
Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/29: Рейтинг темы: голосов - 29, средняя оценка - 4.62
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
1

Непонятный символ возврата каретки в bash скрипте

12.12.2011, 13:23. Показов 5305. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет)
Имею простенький скрипт:
Bash
1
2
#create_username.sh
./create.sh 3xEwxAZ8
и
Bash
1
2
3
4
5
6
#create.sh
rm $1.zip
mkdir $1
cp -r some_dir $1
zip $1.zip -r $1
#упростил до максимума
запускаешь первый, он запускает второй с нужный аргументом коммандной строки. Беда в том, что на выходе имею следующее:
Bash
1
2
3
4
5
6
7
$./create_username.sh
rm: cannot remove '3xEwxAZ8.zip\r': No such file or directory
 
zip error: Nothing to do! (3xEwxAZ8.zip)
 
$ ls
3xEwxAZ8?
т.е. создается каталог с символом '\r' в конце (если верить сообщению rm). Пишу под Linux'ом (естественно)), проблем с кодировкой быть не должно. Не могу придумать, как от этого избавиться?

Добавлено через 22 минуты
Проблему решил, все таки от куда-то в каждой строке этот символ взялся, удалил его в другом редакторе.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Блог
12.12.2011, 13:23
Ответы с готовыми решениями:

VBScript.RegExp: Символ возврата каретки
Подскажите как в регулярке в замене указать конец абзаца. В строке поиска это \r Но в строке...

Символ возврата каретки при Ajax запросе
Всем добрый день! Может кто сталкивался с ситуацией, когда при Ajax запросе, в ответе приходит...

Символ возврата каретки в работе веб-сервера
Ниже представлен код простейшего сервера. Мне не удается понять, зачем здесь обрабатывается case...

Сложности с символом возврата каретки
Всем привет! Имеется файл dictionary.txt Его содержимое считывается в массив и делается попытка...

10
Evg
Эксперт CАвтор FAQ
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
12.12.2011, 17:23 2
Цитата Сообщение от Kastaneda Посмотреть сообщение
все таки от куда-то в каждой строке этот символ взялся
Скорее всего от того, что скрипт не с нуля писал, а скачал с символом \r и т.п.
0
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
12.12.2011, 17:36  [ТС] 3
Цитата Сообщение от Evg Посмотреть сообщение
Скорее всего от того, что скрипт не с нуля писал, а скачал с символом \r и т.п.
Можно сказать, что с нуля. В общем был файл, написанный в винде (батник), я его переписал в bash. Зная о проблеме кодировок, удалил все, что было написано под виндой. Может там в файле Win аура осталась
0
Evg
Эксперт CАвтор FAQ
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
12.12.2011, 17:39 4
Ну вот это и есть "не с нуля". Ауры, сам понимаешь, не бывает, а бывают кривые руки
0
Эксперт по компьютерным сетямЭксперт NIX
13360 / 7492 / 820
Регистрация: 09.09.2009
Сообщений: 29,295
12.12.2011, 20:43 5
Цитата Сообщение от Kastaneda Посмотреть сообщение
В общем был файл, написанный в винде (батник),
\r - это и есть виндузное окончание строки
удаление текста его не удалило.
например, во встроенном редакторе mc в конце каждой строки должны были наблюдаться символы ^M
0
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
12.12.2011, 20:49  [ТС] 6
Цитата Сообщение от Dmitry Посмотреть сообщение
\r - это и есть виндузное окончание строки
Да это я знаю

Цитата Сообщение от Dmitry Посмотреть сообщение
удаление текста его не удалило.
Непонятно, почему? После очередной попытки был удален весь текст и руками переписан заново.
0
Evg
Эксперт CАвтор FAQ
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
12.12.2011, 21:02 7
Цитата Сообщение от Kastaneda Посмотреть сообщение
После очередной попытки был удален весь текст и руками переписан заново
Как вариант за тебя всё решил особо умный редактор. Он увидел, что в файле были изначально виндузовые энтеры и решил, что коли так было изначально, то и я буду так же делать
1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
14.12.2011, 04:32 8
Цитата Сообщение от Kastaneda Посмотреть сообщение
Bash
1
2
#create_username.sh
./create.sh 3xEwxAZ8
Bash
1
2
3
4
5
6
#create.sh
rm $1.zip
mkdir $1
cp -r some_dir $1
zip $1.zip -r $1
#упростил до максимума
а где первая строка в create.sh ?

Цитата Сообщение от Kastaneda
Не могу придумать, как от этого избавиться?
нужно в уиндоус настроить концы строк в редакторе в unix стиле
в notepad++ есть такая возможность

Bash
1
sed -i.bak 's/\r//g' file.txt
0
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
14.12.2011, 10:20  [ТС] 9
Цитата Сообщение от accept Посмотреть сообщение
нужно в уиндоус настроить концы строк в редакторе в unix стиле
в notepad++ есть такая возможность
Да я под линуксом сижу, просто скрипт в таком виде достался.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
14.12.2011, 11:25 10
через sed его обрабатывай
1
5232 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
14.12.2011, 11:45  [ТС] 11
accept, да проблема то решена уже)
За sed спасибо, не знал про него.
0
14.12.2011, 11:45
cpp_developer
Эксперт
20123 / 5690 / 417
Регистрация: 09.04.2010
Сообщений: 12,546
Блог
14.12.2011, 11:45
Помогаю со студенческими работами здесь

Найти в цикле первое вхождение возврата каретки
Найти в Цикле первое вхождение возврата каретки, как это сделать, какой символ означает переход...

Почикать символы возврата каретки и перевода строки
Здравствуйте! Вот такой парой функций считываю строки из файла в список: (defun add-el (lst...

Будильник на bash скрипте
Доброго времени суток. Помогите написать будильник для ubuntu 16.04/ что бы комп просыпался в 8...

Какой способ не является правильными для возврата значений из функций в bash
Какой способ не является правильными для возврата значений из функций в bash. 1 echo-печать в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru