Подключение к порту с использованием общего сценария kermit

Я написал следующее в сценарии kermit для подключения к моему серийному устройству:

 #!/usr/bin/env kermit set port /dev/ttyUSB8 set speed 115200 set carrier-watch off set flow-control none set prefixing all set input echo on 

Это хорошо работает. Теперь я хочу сделать это универсальным скриптом и хотел бы получить информацию от пользователя, какой порт он хочет подключить. Итак, я думал, что принимать входные данные, поскольку аргумент командной строки – лучший способ сделать. И я изменил это следующим образом:

 #!/usr/bin/env kermit port_num="/dev/ttyUSB"+$1 set port port_num set speed 115200 set carrier-watch off set flow-control none set prefixing all set input echo on 

Но, я получаю следующую ошибку:

 user4@user-pc-4:~/Scripts$ ./test.script 8 ?Not a command or macro name: "port_num="/dev/ttyUSB"+$1" File: /home/Scripts/test.script, Line: 2 port_num ?SET SPEED has no effect without prior SET LINE "8" - invalid command-line option, type "kermit -h" for help 

Я попытался заменить

 port_num="/dev/ttyUSB"+$1 

с

 port_num="/dev/ttyUSB$1" 

также. Это тоже не сработало. Я получаю

 user4@user-pc-4:~/Scripts$ ./test.script 8 ?Not a command or macro name: "port_num="/dev/ttyUSB$1"" File: /home/Scripts/test.script, Line: 2 port_num ?SET SPEED has no effect without prior SET LINE "8" - invalid command-line option, type "kermit -h" for help 

В моем втором скрипте есть очевидный недостаток. Как я могу заставить скрипт принять вход пользователя и подключиться к последовательному порту с помощью kermit ?

One Solution collect form web for “Подключение к порту с использованием общего сценария kermit”

Возможно, вы запутываете сценарии оболочки с помощью скриптов kermit. kermit использует совершенно другой язык для оболочки. Это описано здесь . В частности, вы можете получить доступ к аргументам скрипта с синтаксисом \%1 для arg 1 и так далее. Так что измените вторую строку на

 set port /dev/ttyUSB\%1 

Если ваш kermit похож на мой (ckermit 9.0), вы также должны запустить свой скрипт с дополнительным первым аргументом -- например:

 ./test.script -- 8 

Если вы предпочитаете не делать этого, замените первую строку абсолютным путем на kermit, а затем вы можете использовать флаг + , например:

 #!/usr/bin/kermit + 
  • Смущенный этим сценарием с вилкой бомбы
  • udev power_supply правила не запускают
  • Как узнать, есть ли подходящие символы в строке?
  • Добавление переменных с кавычками и пробелом в bash
  • Печать строк с похожим текстом вместе
  • В терминале Linux существует разница между «bash foo.sh» и «./foo.sh»,
  • Как объединить два файла на основе соответствия двух столбцов? CSV
  • Автоматизация ввода текста в команду из сценария bash
  • Условная grepping
  • Как отобразить результат df каждые 30 секунд?
  • Сценарий оболочки для изменения каталога терминала и открытия второго терминала
  • Изменение числового значения в файле с помощью Vim из сценария
  • Interesting Posts

    cron, каждую минуту

    Автозаполнение имени файла в каталоге

    ArchLinux: по-прежнему имеет неправильный редактор в некоторых случаях

    Что такое BS "D в Mac OS X и iOS Internals?

    Как решить проблему, связанную с черным экраном с помощью курсора только после входа?

    Рекомендуется ли использовать zsh вместо сценариев bash?

    Как найти в Linux, если mule запущен

    Midnight Commander отображает диалог «Отменить выбор», когда я нажимаю F4 для редактирования файла

    Условно добавьте виртуальный рабочий стол в Openbox

    (Vim) Как использовать TAB для отступов во всех типах файлов?

    Есть ли команда, которая выводит ТОЛЬКО пакеты, явно установленные пользователем? (убунт / Debian)

    rsync не может выбрать правильный целевой каталог

    Как изменить цвет встроенного терминала в linux mint 12, чтобы иметь возможность использовать `ls` и` byobu`?

    Фактическое использование памяти в процессе

    Где «документально подтверждается вывод команды« ls »по вертикали»?

    Linux и Unix - лучшая ОС в мире.