2015-03-10 5 views
0

Когда я написал код для Shell Script в окнах платформыОшибка переносимости между Windows и Unix r n (CRLF) и n (LF)?

#!/bin/bash 
a=20 
b=10 
sum=`expr $a + $b` 
echo $sum 

но пытался выполнить его на платформе UNIX он дал мне ошибку '20\r': command not found, так как файл для Windows заканчивается/г/п, а UNIX файл заканчивается/п.

Любая идея как удалить и обработать такую ​​ошибку?

ответ

3

Использование dos2unix - «[a] программа, которая преобразует текстовые файлы в формате DOS/MAC в формат UNIX» или аналогичную команду.

Хранилища, подобные Git или Hg, у них есть support for 'line ending normalization'. Использование системы контроля версий отлично подходит и по другим причинам!

Если передача через [S] FTP/SCP (например, WinSCP) указывает «Режим ТЕКСТА» для передачи, преобразование будет выполнено автоматически - перекодировка новой строки выполняется как часть самого процесса копирования/передачи.

Ряд «продвинутых» текстовых редакторов (например, [x] emacs, [g] vim, sublime, notepad ++ и даже Visual Studio) также могут восстанавливать и нормализовать такие файлы. Эти редакторы также могут использоваться для записи файла с самого начала:

 Смежные вопросы

  • Нет связанных вопросов^_^