Как мы можем выполнить арифметическую операцию над регистром, используя GDB?

Команда fileуказывает на проблему:

% file file*
file1: Bourne-Again shell script, ASCII text executable
file2: Bourne-Again shell script, ASCII text executable, with CRLF line terminators

Второй скрипт в формате "DOS". и поэтому не будет работать, как ожидалось. Вы можете преобразовать его с помощью dos2unix, и теперь результаты будут такими же

.
% dos2unix file2
dos2unix: converting file file2 to Unix format...

% ls -l file1 file2
-rw-r--r-- 1 sweh sweh 41 Mar 19 11:23 file1
-rw-r--r-- 1 sweh sweh 41 Mar 19 11:25 file2

Когда вы пытаетесь использовать файл формата DOS с командами Unix, в конце каждой строки появляется завершающий элемент управления -M. Таким образом, строка, такая как

a=b

действительно установит aв b, за которым следует контроль -M, сокращение^M:

a=b^M

Каждая команда будет затронута аналогичным образом; например, простая строка с двухсимвольной командой ls-попытается запустить трехсимвольную команду ls<control-M>-, которой не существует.

1
03.07.2020, 11:51
0 ответов

Теги

Похожие вопросы