Поскольку другие уже упомянули --
используется для разграничивания опций от аргументов. Если Вы выполняете программу и указываете какие-либо аргументы, программа не имеет никакого способа различать, если указанные аргументы должны быть интерпретированы как параметр командной строки или аргумент. Это - причина, почему префикс для опций был представлен -
/ --
или /
на окнах, т.е. -rf
,--help
или /?
Поскольку у Вас могут быть файлы, начинающиеся с такого префикса или любого другого специального имени, которое могло быть интерпретировано --
был представлен для разграничивания параметров командной строки от нормальных аргументов, т.е. каждого аргумента после --
не будет рассматриваться как параметр командной строки, но как аргумент. getopt (1)
, стандартное решение проанализировать аргументы, например, поддержки --
разделитель, что означает любое использование программы getopt
автоматически поддержки --
разделитель.
Если Вы хотите работать с файлами, запускающимися со специальных символов как -
можно также просто добавить ./
перед ними, поскольку они теперь не запускают с -
таким образом, они не будут интерпретироваться как параметр командной строки для Вашего примера, это было бы mkdir ./--abc
Проведя сегодня небольшое исследование эмуляторов терминала, я чувствую необходимость приветствовать достоинства xterm
. Этот FAQ описывает множество ошибок в других эмуляторах терминалов, которые стремятся быть совместимыми с xterm
или VT-100. Вы также можете использовать vttest
, чтобы самостоятельно выявить эти проблемы. Что отталкивает многих от xterm
, так это отсутствие конфигурации меню. Это заставляет многих думать, что xterm
вообще не настраивается, однако на самом деле он легко настраивается, это просто нужно сделать с помощью таких файлов, как .Xresources
или параметров командной строки. .
Другие нарекания включают отсутствие поддержки буфера обмена и, следовательно, отсутствие копирования / вставки с помощью Ctrl-Shift-C
/ Ctrl-Shift-V
по умолчанию, однако это может быть преодоленным . Другой недостаток - отсутствие вкладок, однако многие продвинутые пользователи Linux предпочитают использовать tmux
или GNU screen
, которые предоставляют аналогичные функции.
Это подводит меня к настоящему ответу на ваш вопрос - экран
можно использовать для подключения к последовательному порту и должен работать на Cygwin , несмотря на / dev / ttySX
не отображается с ls
. Благодаря этому вы сможете использовать любой эмулятор терминала, который вам нравится, будь то xterm
или mintty
. xterm
не обладает многими современными функциями и может быть не для всех, но он работает, учитывая, что трудно сопоставить то, что происходит под капотом.
В случае, если ссылка не работает, вот синтаксис для использования screen в качестве последовательного терминала:
screen /dev/ttySX baud_rate,cs8|cs7,ixon|-ixon,ixoff|-ixoff,istrip|-istrip
Я считаю, что screen
сделает это, cygwin сопоставляет COM-порты с устройствами / dev / stty *, а screen будет использовать устройство для подключения .
Из man screen
Если указано имя tty (символьное специальное устройство) (например, "/ dev / ttya") - указано в качестве первого параметра, то окно подключается напрямую на это устройство. Этот тип окна похож на "screen cu -l / dev / ttya". На узле устройства требуется доступ для чтения и записи, на узле предпринимается попытка монопольного открытия, чтобы пометить линию соединения как занятую.Допускается необязательный параметр, состоящий из списка флагов, разделенных запятыми в нотации, используемой stty (1):
К моему большому удивлению, picocom из коробки сработал для того, что мне нужно было сделать - поговорить со встроенными устройствами. По какой-то причине нет пакета cygwin, но собрать его так же просто, как
git clone https://github.com/npat-efault/picocom; cd picocom && make
. Предполагая, что ваше устройство отображается как COM3 под окнами, запустите с
./picocom -b 115200 /dev/ttyS2