![如何提示参数,然后使用参数运行程序](https://linux22.com/image/1132473/%E5%A6%82%E4%BD%95%E6%8F%90%E7%A4%BA%E5%8F%82%E6%95%B0%EF%BC%8C%E7%84%B6%E5%90%8E%E4%BD%BF%E7%94%A8%E5%8F%82%E6%95%B0%E8%BF%90%E8%A1%8C%E7%A8%8B%E5%BA%8F.png)
我不确定我的问题是否足够清楚,因此这里有一些我想要实现的解释。
我需要创建自定义快捷方式来运行 Hamster(时间跟踪器)来跟踪新活动。命令是:
$ hamster start <activity name>
所以我想按热键(Super+ H),然后提示输入活动名称。然后我输入的文本将在命令中使用
$ hamster start <my entered text>
多谢。
答案1
会不会像
hamster start "$(zenity --entry)"
为你工作?
答案2
如果您尝试获取提示您输入活动名称的脚本,则可以使用以下代码
#!/bin/bash
echo "Please enter the activity name"
read activity
hamster start $activity
运行脚本时,系统会提示“请输入活动名称”。输入活动名称并按 Enter 键后,脚本将运行hamster start activity
。您可以将此脚本放入/usr/local/bin
以便于访问。基本上,如果您将其命名为“myscript”并将其放在该文件夹中,则只需运行即可运行脚本myscript
。请记住先将其设为可执行文件。
答案3
如果有人正在使用仓鼠并且发现这个功能很方便,这是我当前的工作代码:
#!/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/
文件夹中。同一文件夹中是权限为 777 的文件 hamster-log。我使用快捷键Super+H和 来运行此脚本,使用Super+ Shift+H来停止活动(命令hamster stop
)。当我有更多时间时,我会继续处理这个问题并更新代码。我还想添加一些其他功能。