Как запросить аргумент и чем запустить программу с аргументом
Я не уверен, достаточно ли ясен мой вопрос, так что вот какое-то объяснение того, чего я пытаюсь достичь.
Мне нужно создать собственный ярлык для запуска хомяка (трекер времени) для отслеживания новой активности. Команда:
$ hamster start <activity name>
поэтому я хочу нажать горячую клавишу (Super+H), а затем запросить название активности. Тогда текст, который я введу, будет использован в команде
$ hamster start <my entered text>
Большое спасибо.
3 ответа
Было бы что-то вроде
hamster start "$(zenity --entry)"
работа для тебя?
Если вы пытаетесь получить скрипт, который будет запрашивать у вас имя действия, вы можете использовать следующий код
#!/bin/bash
echo "Please enter the activity name"
read activity
hamster start $activity
Когда вы запустите скрипт, вам будет предложено сообщение "Пожалуйста, введите название действия". как только вы введете название своей деятельности и нажмете Enter, она запустится hamster start activity
, Вы можете разместить этот скрипт в /usr/local/bin
для легкого доступа. В основном, если вы назовете его "myscript" и поместите в эту папку, вы можете запустить скрипт, просто запустив myscript
, не забудьте сначала сделать его исполняемым.
Если кто-то использует хомяка и сочтет эту функцию удобной, это мой текущий рабочий код:
#!/bin/bash
file=/usr/local/bin/hamster-log
last=$(<$file)
activity=$(zenity --entry --title "Enter new activity name" --text "New activity name:" --entry-text "$last")
hamster start "$activity"
if [ ! -z "$activity" ]; then
if [ -f "$file" ]; then
echo "$activity" > "$file"
fi
fi
Он находится в /usr/local/bin/
папка. И в этой же папке находится файл hamster-log с разрешениями 777. Я использую Shortcut Super+H и для запуска этого скрипта и Super+Shift+H для остановки активности (команда hamster stop
). Когда у меня будет больше времени, я буду продолжать работать над этим и обновлять код. Есть еще несколько функций, которые я хотел бы добавить.