А знете ли вы, что если в Solaris необходимо быстро создать какое-либо небольшое графическое приложение, на помощь придет
dtksh - расширенная версия интерпретатора командной строки Korn shell (ksh), имеющая набор команд для работы с графическим интерфейсом. Создаваемые вами сценарии могут манипулировать окнами и использовать встроенную справку CDE. В большинстве случаев dtksh ничем не отличается от ksh.
Вот простейший скрипт, использующий функции Desktop KornShell:
main()
{
XtInitialize TOPLEVEL dtHello DtHello "$@"
XmCreateMessageDialog HELLO $TOPLEVEL hello \
dialogTitle:"DtHello" \
messageString:"$(print "Hello\nWorld")"
XmMessageBoxGetChild HELP $HELLO DIALOG_HELP_BUTTON
XtUnmanageChild $HELP
XmMessageBoxGetChild CANCEL $HELLO DIALOG_CANCEL_BUTTON
XtUnmanageChild $CANCEL
XtAddCallback $HELLO okCallback exit
XtManageChild $HELLO
XtMainLoop
}
main
Получаем в результате:
Brendan Gregg написал несколько
dtksh-утилит, которые раскроют перед вами все возможности данного
языка. Вот например, перенаправляем вывод netstat в отличную утилиту xplot:
$ netstat -i 1
input hme0 output input (Total) output
packets errs packets errs colls packets errs packets errs colls
2577891 0 3127581 0 0 4302512 0 4852202 0 0
106 0 74 0 0 112 0 80 0 0
85 0 58 0 0 91 0 64 0 0
64 0 44 0 0 70 0 50 0 0
^C
$
$ netstat -i 1 | tail +4 | xplot -f 0 -inc 5
И получаем график:
Как видите, CDE еще рано списывать на покой.
Кстати,
вот примеры использования самого ksh в повседневной практике. А на сайте BigAdmin
регулярно появляются новые ksh-скрипты, призванные облегчить жизнь при администрировании Solaris.