Дождитесь ключа после nautilus-действий в терминале

Мне нужно выполнить скрипт из nautilus-actions, а затем дождаться любого ввода от пользователя, который должен прочитать, что сделал скрипт, прежде чем терминал исчезнет.

Это моя текущая конфигурация nautilus-actions:

  • Выполнение во время выполнения: gnome-terminal -x sh -c COMMAND
  • Создание исполняемого файла:
    • Путь: gksudo
    • Параметры: chmod +x %F

Этот скрипт делает исполняемый файл (+x), но я бы хотел увидеть вывод chmod, если есть до закрытия терминала. Можно ли этого достичь?

0
задан 24 November 2013 в 15:58

1 ответ

Вы можете использовать read (см. Справочную страницу вашей оболочки), чтобы заставить терминал ждать, пока пользователь нажмет клавишу, чтобы указать, что он прочитал вывод. К сожалению, read из dash довольно ограничен, поэтому я бы рекомендовал использовать bash для этого.

read -s -n1 -p "Press any key to continue" напечатает подсказку на терминал (-p), дождется нажатия любой клавиши (-n1) и, наконец, выйдет без печати введенной клавиши (-s).

Добавление этого к вашему сценарию дает вашим пользователям все необходимое время.

Обновление : Чтобы интегрировать вышеперечисленное в nautilus-actions , создайте сценарий bash, который затем можно будет использовать в качестве действия в диалоговом окне конфигурации.

Сценарий должен выглядеть примерно так:

#!/bin/bash
gksu chmod +x $1
read -s -n1 -p "Press any key to continue"

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

0
ответ дан 24 November 2013 в 15:58

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

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