Я могу переключить сценарий с сочетанием клавиш?

У меня есть сценарий удара на моем названном рабочем столе script.sh.

В настоящее время, если я хочу выполнить его, я открываю терминал и тип ./script.sh, и если я хочу остановить его, я должен нажать Ctrl + C

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

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

3
задан 6 September 2018 в 20:01

2 ответа

Предполагая, что ваш скрипт исполняемый, вы можете легко переключать скрипт с помощью крошечного скрипта, приведенного ниже:

#!/bin/bash

scriptpath='/full/path/to/script'

if ! pgrep -f "$scriptpath"
then
    nohup "$scriptpath" &
else
    pkill -f "$scriptpath"
fi

Для использования

  1. Скопируйте код в пустой файл, безопасно это как toggle_scrip.sh
  2. В строке scriptpath='/full/path/to/script' введите полный путь к вашему скрипту (между одинарными кавычками).
  3. Сделайте его исполняемым и запустите его с помощью ярлыка.

Если вам нужно управлять несколькими сценариями, укажите путь к аргументу приведенного выше фрагмента.

4
ответ дан 1 December 2019 в 15:33

Я не думаю, что, переключая что-то этот путь посредством привязки клавиш возможен.

Однако одна опция (определенный взлом, но эй, это работает), должен был бы изменить сценарий, таким образом, это может обнаружить другой экземпляр себя выполнение. Тот путь при запуске второго сценария посредством привязки клавиш Вы могли выпустить pkill или что-то подобное, для завершения и второй и первой инстанции сценария.

1
ответ дан 1 December 2019 в 15:33

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

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