Отправка команды на уже смонтированный модем

/dev/fd/0 является стандартным входом текущего процесса; tee записывает его в файл(ы), который(ые) вы даете, и в stdout. Таким образом, tee читает (пустую) строку, затем записывает эту строку как в stdout (sed), так и в свой собственный вход, где читает только что написанную строку, записывает ее в stdout и свой собственный вход, и т.д., создавая бесконечный цикл из (пустых) строк*. Команда sed просто печатает номер строки, а затем строку.

echo --> tee --> sed
      ^---+

* Когда предоставлено больше входных данных, чем просто echo, эта команда будет перебирать входные данные, повторяя их снова и снова.

Примечание: OSX (BSD) не позволяет писать в /dev/fd/0, так что вы не можете этого сделать.

.
1
25.08.2015, 13:02
1 ответ

Я знаю, что это старый поток, но как он сверху упоминается в Google, Я выкладываю свое решение на случай, если у кого-то еще такая же проблема.

Это простой сценарий, использующий gimp script-fu.

Существует аргумент $1 для определения режима скриншота (-s/-w/-f).

#!/bin/sh

filename=`date +"$HOME/Pictures/scrn%Y%m%d%H%M%S.png"`
xfce4-screenshooter -o "gimp -n -a -s -d -f -i -b \ 
   '(gimp-file-save RUN-NONINTERACTIVE 1 2 \"$filename\" \"$filename\")' \
   -b '(gimp-quit 0)'" $1

Небольшое раздражение в том, что на моем labtop, чтобы создать файл png, требуется по крайней мере 2 с, поэтому не забудьте вставить команду сна, если вы хотите работать сценарий дальше.

Доктор Дуврон

-121--106436-
sed -i 's/\"//g' filename

Можно избежать символа ", поместив символ \. Если требуется удалить все места, выполните следующие действия:

sed -i 's/[" ]//g' filename
-121--154262-

Во время выполнения вызова невозможно отправить AT команды модему. Это относится ко всем AT - совместимым модемам, «обычным» модемам коммутируемого доступа и модемам мобильных телефонов, и не имеет никакого отношения к PPP.

По пути точки терминологии: сеансы PPP не монтируются . Mouting и umounting - это термины, применимые к файловым системам.

Существует два способа передачи команд модему во время выполнения вызова:

  • С помощью + + + побеги последовательности. Необходимо отправить три символа + + + в окружении одной секунды простоя (без передачи) до и после. Модем вернется в командный режим. Вызов приостанавливается после выполнения побега последовательности (что означает, что сеанс PPP, вероятно, будет прерван по тайм-ауту и прерван, если вы работаете не быстро). Для возврата к вызову используйте ATO . Обратите внимание, что escape-последовательность + + + часто деактивирована (недоступна), а иногда даже если она включена, она отбрасывает вызов без остановки. + + + побег последовательности - очень старый стандарт, который сегодня не используется.
  • Если модем имеет несколько последовательных портов, соединяющих его с компьютером, то можно отправлять команды на один последовательный порт, пока выполняется вызов на другом. Традиционные модемы коммутируемого доступа или ISDN никогда не имеют этой функции, но я полагаю, что современные модемы мобильных телефонов могут.
2
27.01.2020, 23:36

Теги

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