Выполнить скрипт перед закрытием

Ваша вторая попытка должна работать, если вы включили PCRE (совместимые с Perl регулярные выражения) с помощью -P:

grep -Pq '\d{1,3}-\d{1,3}_something'

\d не находится в BRE или ERE или в списке дополнительной обратной косой черты выражения, которые GNU Grep имеет, но это вещь Perl.

Ваша третья попытка должна работать, если вы активировали дополнительные выражения обратной косой черты :

grep -Eq '[0-9]{1,3}-[0-9]{1,3}_something'

[ f5] не является конструкцией BRE (основное регулярное выражение).

21
задан 5 August 2010 в 20:25

55 ответов

Если вы выполняете ./ app-to-run & amp; & amp; & amp; sudo shutdown -h теперь компьютер должен отключиться, как только приложение будет выполнено.

2
ответ дан 4 August 2018 в 21:10

Вы можете добавить свою команду в файл / etc / gdm / PostSession / Default до выхода 0 .

7
ответ дан 4 August 2018 в 21:10

Почти такой же ответ, чем Томми Бранн, но без риска зависания с запросом пароля root:

  sudo sh -c "./app-to-run; shutdown -h now"   
1
ответ дан 4 August 2018 в 21:10

Звучит как вопрос для superuser.com для меня. В любом случае, после некоторого Googling я нашел, как запустить скрипт при выходе из системы? , который говорит, чтобы добавить скрипт в $ HOME / .bash_logout.

Если это не работает, добавьте

  $ HOME / .bash_logout  

в / etc / gdm / PostSession / Default, поэтому он правильно выполняет сценарий выхода.

Увидев, что до выключения пользователя все равно выгружается, это должно охватывать обе базы.

4
ответ дан 4 August 2018 в 21:10

Вы можете сделать это, создав скрипт в /etc/rc0.d (для выключения) и /etc/rc6.d (для перезагрузки). Для этого запустите:

  gksu gedit /etc/rc0.d/K01mycustomscript  

Отредактируйте сценарий выключения в текстовом редакторе и запустите:

  sudo chmod + x /etc/rc0.d/K01mycustomscript  

И если вы хотите, чтобы он запускался при перезагрузке, тогда запустите это:

  sudo cp /etc/rc0.d/K01mycustomscript /etc/rc6.d/K01mycustomscript  

Источник: эта тема форума

6
ответ дан 4 August 2018 в 21:10

Вы можете сделать это, создав скрипт в /etc/rc0.d (для выключения) и /etc/rc6.d (для перезагрузки). Для этого запустите:

  gksu gedit /etc/rc0.d/K01mycustomscript  

Отредактируйте сценарий выключения в текстовом редакторе и запустите:

  sudo chmod + x /etc/rc0.d/K01mycustomscript  

И если вы хотите, чтобы он запускался при перезагрузке, тогда запустите это:

  sudo cp /etc/rc0.d/K01mycustomscript /etc/rc6.d/K01mycustomscript  

Источник: эта тема форума

6
ответ дан 6 August 2018 в 04:39

Звучит как вопрос для superuser.com для меня. В любом случае, после некоторого Googling я нашел, как запустить скрипт при выходе из системы? , который говорит, чтобы добавить скрипт в $ HOME / .bash_logout.

Если это не работает, добавьте

  $ HOME / .bash_logout  

в / etc / gdm / PostSession / Default, поэтому он правильно выполняет сценарий выхода.

Увидев, что до выключения пользователя все равно выгружается, это должно охватывать обе базы.

4
ответ дан 6 August 2018 в 04:39

Вы можете добавить свою команду в файл / etc / gdm / PostSession / Default до выхода 0 .

7
ответ дан 6 August 2018 в 04:39

Почти такой же ответ, чем Томми Бранн, но без риска зависания с запросом пароля root:

  sudo sh -c "./app-to-run; shutdown -h now"   
1
ответ дан 6 August 2018 в 04:39

Если вы выполняете ./ app-to-run & amp; & amp; & amp; sudo shutdown -h теперь компьютер должен отключиться, как только приложение будет выполнено.

2
ответ дан 6 August 2018 в 04:39

Вы можете добавить свою команду в файл / etc / gdm / PostSession / Default до выхода 0 .

7
ответ дан 7 August 2018 в 22:50

Почти такой же ответ, чем Томми Бранн, но без риска зависания с запросом пароля root:

  sudo sh -c "./app-to-run; shutdown -h now"   
1
ответ дан 7 August 2018 в 22:50

Если вы выполняете ./ app-to-run & amp; & amp; & amp; sudo shutdown -h теперь компьютер должен отключиться, как только приложение будет выполнено.

2
ответ дан 7 August 2018 в 22:50

Звучит как вопрос для superuser.com для меня. В любом случае, после некоторого Googling я нашел, как запустить скрипт при выходе из системы? , который говорит, чтобы добавить скрипт в $ HOME / .bash_logout.

Если это не работает, добавьте

  $ HOME / .bash_logout  

в / etc / gdm / PostSession / Default, поэтому он правильно выполняет сценарий выхода.

Увидев, что до выключения пользователя все равно выгружается, это должно охватывать обе базы.

4
ответ дан 7 August 2018 в 22:50

Вы можете сделать это, создав скрипт в /etc/rc0.d (для выключения) и /etc/rc6.d (для перезагрузки). Для этого запустите:

  gksu gedit /etc/rc0.d/K01mycustomscript  

Отредактируйте сценарий выключения в текстовом редакторе и запустите:

  sudo chmod + x /etc/rc0.d/K01mycustomscript  

И если вы хотите, чтобы он запускался при перезагрузке, тогда запустите это:

  sudo cp /etc/rc0.d/K01mycustomscript /etc/rc6.d/K01mycustomscript  

Источник: эта тема форума

6
ответ дан 7 August 2018 в 22:50

Почти такой же ответ, чем Томми Бранн, но без риска зависания с запросом пароля root:

  sudo sh -c "./app-to-run; shutdown -h now"   
1
ответ дан 10 August 2018 в 10:55

Если вы выполняете ./ app-to-run & amp; & amp; & amp; sudo shutdown -h теперь компьютер должен отключиться, как только приложение будет выполнено.

2
ответ дан 10 August 2018 в 10:55

Вы можете сделать это, создав скрипт в /etc/rc0.d (для выключения) и /etc/rc6.d (для перезагрузки). Для этого запустите:

  gksu gedit /etc/rc0.d/K01mycustomscript  

Отредактируйте сценарий выключения в текстовом редакторе и запустите:

  sudo chmod + x /etc/rc0.d/K01mycustomscript  

И если вы хотите, чтобы он запускался при перезагрузке, тогда запустите это:

  sudo cp /etc/rc0.d/K01mycustomscript /etc/rc6.d/K01mycustomscript  

Источник: эта тема форума

6
ответ дан 10 August 2018 в 10:55

Звучит как вопрос для superuser.com для меня. В любом случае, после некоторого Googling я нашел, как запустить скрипт при выходе из системы? , который говорит, чтобы добавить скрипт в $ HOME / .bash_logout.

Если это не работает, добавьте

  $ HOME / .bash_logout  

в / etc / gdm / PostSession / Default, поэтому он правильно выполняет сценарий выхода.

Увидев, что до выключения пользователя все равно выгружается, это должно охватывать обе базы.

4
ответ дан 10 August 2018 в 10:55

Вы можете добавить свою команду в файл / etc / gdm / PostSession / Default до выхода 0 .

7
ответ дан 10 August 2018 в 10:55

Вы можете добавить свою команду в файл / etc / gdm / PostSession / Default до выхода 0 .

7
ответ дан 13 August 2018 в 17:29
  • 1
    Если я перейду в «Выход», вариант, который он выполняет отлично, но если я нажму на выключение, вы увидите почти мгновенный экран фиолетового выхода ubuntu и выполнит скрипт (на экране появится логотип ubuntu с 5 маленькими шариками). (тестируется со сном 20). – juanefren 5 August 2010 в 21:33
  • 2
    «Вы уверены, что хотите завершить работу»? Диалог находится здесь: / usr / lib / indicator-session / gtk-logout-helper, а часть пакета индикатор-сессия witch написана на C / C ++, поэтому его довольно сложно редактировать. Возможно, вам больше повезло в каком-нибудь почтовом списке gnome-guru;) – LassePoulsen 10 August 2010 в 23:21

Почти такой же ответ, чем Томми Бранн, но без риска зависания с запросом пароля root:

  sudo sh -c "./app-to-run; shutdown -h now"   
1
ответ дан 13 August 2018 в 17:29

Если вы выполняете ./ app-to-run & amp; & amp; & amp; sudo shutdown -h теперь компьютер должен отключиться, как только приложение будет выполнено.

2
ответ дан 13 August 2018 в 17:29
  • 1
    Это будет очень грубое закрытие. Вместо этого вы скорее захотите вызвать сценарий отключения рабочего стола. – txwikinger 5 August 2010 в 20:45
  • 2
    Sudo может попросить пользователя ввести пароль в случае, если приложение для запуска достаточно долго ... Таким образом, он никогда не выключится. – samb 7 September 2012 в 20:12

Звучит как вопрос для superuser.com для меня. В любом случае, после некоторого Googling я нашел, как запустить скрипт при выходе из системы? , который говорит, чтобы добавить скрипт в $ HOME / .bash_logout.

Если это не работает, добавьте

  $ HOME / .bash_logout  

в / etc / gdm / PostSession / Default, поэтому он правильно выполняет сценарий выхода.

Увидев, что до выключения пользователя все равно выгружается, это должно охватывать обе базы.

4
ответ дан 13 August 2018 в 17:29
  • 1
    Поскольку он, вероятно, не хочет, чтобы сценарий запускался каждый раз, он выходит из системы bash (т. Е. Каждый раз, когда он закрывает окно терминала), я не думаю, что это хорошая идея написать команду в .bash_logout. Однако писать его в PostSession / Default выглядит для меня хорошей идеей. – sepp2k 5 August 2010 в 21:04
  • 2
    Уже есть этот файл, но похоже, что он не работает (я положил сон 20, и он не дождался завершения работы.) – juanefren 5 August 2010 в 21:31
  • 3
    .bash_logout не будет запускаться при закрытии терминала, он будет запускаться только при выходе из сеанса терминала-входа-сессии (т. е. если вы выходите из реального TTY), а не при выходе из gnome , – LassePoulsen 10 August 2010 в 23:24
  • 4
    Почему это будет вопрос для суперпользователя? Если вопрос касается Ubuntu, то это по теме. – N.N. 12 August 2011 в 14:52

Вы можете сделать это, создав скрипт в /etc/rc0.d (для выключения) и /etc/rc6.d (для перезагрузки). Для этого запустите:

  gksu gedit /etc/rc0.d/K01mycustomscript  

Отредактируйте сценарий выключения в текстовом редакторе и запустите:

  sudo chmod + x /etc/rc0.d/K01mycustomscript  

И если вы хотите, чтобы он запускался при перезагрузке, тогда запустите это:

  sudo cp /etc/rc0.d/K01mycustomscript /etc/rc6.d/K01mycustomscript  

Источник: эта тема форума

6
ответ дан 13 August 2018 в 17:29
  • 1
    Из его описания кажется, что он хочет вызвать графическое приложение, поэтому ему нужен доступ к xserver. В этом случае использование init-скриптов не работает. – sepp2k 5 August 2010 в 21:05
  • 2
    Да ... как @ sepp2k говорит, скрипт работает за пределами xserver :( – juanefren 5 August 2010 в 21:36

Другие вопросы по тегам:

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