Страница 1 из 1

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

Добавлено: 2010-03-24 16:30:36
zidi
Здраствуйте!
Задача довольно проста на первый взгляд.
Надо заставить FreeBSD выполнять любой самописный sh скриптик нажатием всего одной кнопки на клавиатуре, без последующего Enter'а и без использования монитора в принципе. ОС голая, тобишь без иксов и установка их не нужна.

Поясню на пальцах:
Нажал на клавиатурке единичку и сразу же выполняется например /etc/reb.sh ,в котором, опять же для примера, shutdown -p now
Как решить задачу?
Заранее спасибо откликнувшимся.

P.S.: гуглил.

Re: выполнение sh скрипта нажатием всего одной кнопки клавиа

Добавлено: 2010-03-24 16:48:47
FreeBSP
написать другой самопальный скрипт который будет работать в качестве шелла, анализировать нажатую кнопку и соответственно пускать нужный скрипт? )) :roll:
по теме - отталкиваться от man read

Re: выполнение sh скрипта нажатием всего одной кнопки клавиа

Добавлено: 2010-03-24 17:41:40
xelplogoog
FreeBSP, оверкилл товарищ. man bindkey

Re: выполнение sh скрипта нажатием всего одной кнопки клавиа

Добавлено: 2010-03-24 17:56:30
terminus
еще можно так на F12 повесить печать текста reboot, но сразу это ребут не выполнит - надо будет еще enter нажимать...

Код: Выделить всё

kbdcontrol -f 12 "reboot"

Re: выполнение sh скрипта нажатием всего одной кнопки клавиа

Добавлено: 2010-03-24 18:13:45
terminus
А не - нашел как

Код: Выделить всё

kbdcontrol -f 12 `printf "ifconfig\r"`
повесит на F12 выполнение ifconfig :drinks:

---

http://www.freebsd.org/cgi/man.cgi?quer ... .0-RELEASE

Код: Выделить всё

     Function Key number  Function Key
     1, 2,...12 	  F1, F2,... F12
     13, 14,...24	  Shift+F1, Shift+F2,... Shift+F12
     25, 26,...36	  Ctl+F1, Ctl+F2,... Ctl+F12
     37, 38,...48	  Shift+Ctl+F1, Shift+Ctl+F2,... Shift+Ctl+F12
     49 		  Home and Numpad 7 (without NumLock)
     50 		  Up Arrow and Numpad 8 (without NumLock)
     51 		  Page Up and Numpad 9 (without NumLock)
     52 		  Numpad -
     53 		  Left Arrow and Numpad 4 (without NumLock)
     54 		  Numpad 5 (without NumLock)
     55 		  Right Arrow and Numpad 6 (without NumLock)
     56 		  Numpad +
     57 		  End and Numpad 1 (without NumLock)
     58 		  Down Arrow and Numpad 2 (without NumLock)
     59 		  Page Down and Numpad 3 (without NumLock)
     60 		  Ins and Numpad 0 (without NumLock)
     61 		  Del
     62 		  Left GUI Key
     63 		  Right GUI Key
     64 		  Menu
     65, 66,...96	  free (not used by default)

Re: выполнение sh скрипта нажатием всего одной кнопки клавиа

Добавлено: 2010-03-24 18:38:57
FreeBSP
xelplogoog писал(а):FreeBSP, оверкилл товарищ. man bindkey
виноват. твоя правда

Re: выполнение sh скрипта нажатием всего одной кнопки клавиа

Добавлено: 2010-03-24 18:42:36
zidi
terminus писал(а):А не - нашел как

Код: Выделить всё

kbdcontrol -f 12 `printf "ifconfig\r"`
повесит на F12 выполнение ifconfig :drinks:

---

http://www.freebsd.org/cgi/man.cgi?quer ... .0-RELEASE

Код: Выделить всё

     Function Key number  Function Key
     1, 2,...12 	  F1, F2,... F12
     13, 14,...24	  Shift+F1, Shift+F2,... Shift+F12
     25, 26,...36	  Ctl+F1, Ctl+F2,... Ctl+F12
     37, 38,...48	  Shift+Ctl+F1, Shift+Ctl+F2,... Shift+Ctl+F12
     49 		  Home and Numpad 7 (without NumLock)
     50 		  Up Arrow and Numpad 8 (without NumLock)
     51 		  Page Up and Numpad 9 (without NumLock)
     52 		  Numpad -
     53 		  Left Arrow and Numpad 4 (without NumLock)
     54 		  Numpad 5 (without NumLock)
     55 		  Right Arrow and Numpad 6 (without NumLock)
     56 		  Numpad +
     57 		  End and Numpad 1 (without NumLock)
     58 		  Down Arrow and Numpad 2 (without NumLock)
     59 		  Page Down and Numpad 3 (without NumLock)
     60 		  Ins and Numpad 0 (without NumLock)
     61 		  Del
     62 		  Left GUI Key
     63 		  Right GUI Key
     64 		  Menu
     65, 66,...96	  free (not used by default)
1)#kbdcontrol -f 12 `printf "ifconfig\r"`
kbdcontrol: setting function key: Inappropriate ioctl for device
Нюанс: может ошибка из-за того, что тестирую на виртуал боксе? :unknown:
2)А если надо не одну команду выполнять(в примере выше ifconfig), а именно скриптик sh ?

Re: выполнение sh скрипта нажатием всего одной кнопки клавиа

Добавлено: 2010-03-24 18:49:24
terminus
http://www.opennet.ru/openforum/vsluhfo ... 44469.html

по ssh работаете?

---
А если надо не одну команду выполнять(в примере выше ifconfig), а именно скриптик sh ?
ну ьак в чем проблма - напигите скрипт, кинте его куда нить в /root/bin (см. echo $PATH)

Re: выполнение sh скрипта нажатием всего одной кнопки клавиа

Добавлено: 2010-03-24 19:10:22
zidi
по ssh работаете?
да
ну ьак в чем проблма - напигите скрипт, кинте его куда нить в /root/bin (см. echo $PATH)
Кажется, terminus, понял идею вашу: положить скриптик в $PATH директорию и сделать kbdcontrol. Так?
Спасибо, буду пробовать.