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

Ваша вторая попытка должна работать, если вы включили 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 ответов

Вы можете сделать это, создав скрипт в /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

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

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

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

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

$HOME/.bash_logout

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

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

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

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

7
ответ дан 25 July 2018 в 23:19
  • 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
ответ дан 25 July 2018 в 23:19

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

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

Вы можете сделать это, создав скрипт в /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

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

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

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

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

$HOME/.bash_logout

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

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

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

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

7
ответ дан 27 July 2018 в 03:58
  • 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
ответ дан 27 July 2018 в 03:58

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

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

Вы можете сделать это, создав скрипт в /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

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

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

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

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

$HOME/.bash_logout

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

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

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

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

7
ответ дан 31 July 2018 в 10:35
  • 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
ответ дан 31 July 2018 в 10:35

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

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

Вы можете сделать это, создав скрипт в /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

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

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

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

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

$HOME/.bash_logout

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

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

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

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

7
ответ дан 31 July 2018 в 11:38
  • 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
ответ дан 31 July 2018 в 11:38

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

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

Вы можете сделать это, создав скрипт в /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
ответ дан 2 August 2018 в 04:36

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

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

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

7
ответ дан 2 August 2018 в 04:36

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

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

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

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

  $ HOME / .bash_logout  

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

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

4
ответ дан 2 August 2018 в 04:36

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

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

  $ HOME / .bash_logout  

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

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

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

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

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

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

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

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

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

Вы можете сделать это, создав скрипт в /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
ответ дан 2 August 2018 в 04:39

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

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