如何提示参数,然后使用参数运行程序

如何提示参数,然后使用参数运行程序

我不确定我的问题是否足够清楚,因此这里有一些我想要实现的解释。

我需要创建自定义快捷方式来运行 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)。当我有更多时间时,我会继续处理这个问题并更新代码。我还想添加一些其他功能。

相关内容