Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Аналог SendKeys в linux  (Прочитано 1306 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ua_remm

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Аналог SendKeys в linux
« : 02 Июля 2008, 12:29:05 »
Написал в .bashrc такое вот:

if echo $SHLVL | grep -Fw 1 > /dev/null
then
echo "Welcome! Do you want sent sms to admin?"
OPTIONS="YES NO"
select opt in $OPTIONS; do
if [ "$opt" = "NO" ]; then
echo ok...
exit
elif [ "$opt" = "YES" ]; then
(echo "ONLINE:" && who -q)| mail -s "$USER IS ONLINE" 380******@sms.jeans.com.ua
echo sms to admin sent!
exit
else
clear
echo bad option
fi
done
else
echo "That seems it is screen, sms to admin did not sent."
fi

Всё замечательно, вот только когда человек заходит по ssh, выбирает одну из функций, происходит выполнение "exit" - и его выбрасывает вообще. А вот если нажать ctrl+c - оно киляется и можно работать. Так вот - как описать в данном скрипте выполнение ctrl+c автоматом после выполнения нужной функции?

p.s. на ^C ругается. 0_о

Оффлайн dmay

  • Старожил
  • *
  • Сообщений: 1084
  • man google, кому сказал!
    • Просмотр профиля
Re: Аналог SendKeys в linux
« Ответ #1 : 02 Июля 2008, 13:11:57 »
эммм... а зачем там вообще exit?
Ты попал в мою коллекцию криворуких тупых нубов!

Оффлайн ua_remm

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: Аналог SendKeys в linux
« Ответ #2 : 02 Июля 2008, 13:26:54 »
Ну а как?

Оффлайн dmay

  • Старожил
  • *
  • Сообщений: 1084
  • man google, кому сказал!
    • Просмотр профиля
Re: Аналог SendKeys в linux
« Ответ #3 : 02 Июля 2008, 13:31:20 »
if echo $SHLVL | grep -Fw 1 > /dev/null
then
echo "Welcome! Do you want sent sms to admin?"
OPTIONS="YES NO"
select opt in $OPTIONS; do
if [ "$opt" = "NO" ]; then
echo ok...
exit
elif [ "$opt" = "YES" ]; then
(echo "ONLINE:" && who -q)| mail -s "$USER IS ONLINE" 380******@sms.jeans.com.ua
echo sms to admin sent!
exit
else
clear
echo bad option
fi
done
else
echo "That seems it is screen, sms to admin did not sent."
fi
Ты попал в мою коллекцию криворуких тупых нубов!

Оффлайн ua_remm

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: Аналог SendKeys в linux
« Ответ #4 : 02 Июля 2008, 13:33:09 »
Если так, то оно возвращается на исходную позицию выбора.

Оффлайн ziv

  • Активист
  • *
  • Сообщений: 403
    • Просмотр профиля
Re: Аналог SendKeys в linux
« Ответ #5 : 02 Июля 2008, 13:33:22 »
Написал в .bashrc такое вот:

Всё замечательно, вот только когда человек заходит по ssh, выбирает одну из функций, происходит выполнение "exit" - и его выбрасывает вообще. А вот если нажать ctrl+c - оно киляется и можно работать. Так вот - как описать в данном скрипте выполнение ctrl+c автоматом после выполнения нужной функции?

Насколько я понимаю, .bashrc выполняется при запуске баша. То есть, в начале сессии. Если ты пишешь exit - это значит, что текущая сессия баша завершается. Ничего удивительно, что при этом закрывается соединение по ssh.
Предлагаю все это записать в отдельный скрипт, а в .bashrc прописать его запуск. Тогда будет создаваться отдельная баш-сессия, при выходе из которой соединение не порвется.

Оффлайн ua_remm

  • Автор темы
  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: Аналог SendKeys в linux
« Ответ #6 : 02 Июля 2008, 13:37:23 »
Написал в .bashrc такое вот:

Всё замечательно, вот только когда человек заходит по ssh, выбирает одну из функций, происходит выполнение "exit" - и его выбрасывает вообще. А вот если нажать ctrl+c - оно киляется и можно работать. Так вот - как описать в данном скрипте выполнение ctrl+c автоматом после выполнения нужной функции?

Насколько я понимаю, .bashrc выполняется при запуске баша. То есть, в начале сессии. Если ты пишешь exit - это значит, что текущая сессия баша завершается. Ничего удивительно, что при этом закрывается соединение по ssh.
Предлагаю все это записать в отдельный скрипт, а в .bashrc прописать его запуск. Тогда будет создаваться отдельная баш-сессия, при выходе из которой соединение не порвется.
Да, спасибо за наводку.

 

Страница сгенерирована за 0.036 секунд. Запросов: 23.