web-dev-qa-db-ja.com

引数を要求し、引数を使用してプログラムを実行する方法

私の質問が十分に明確であるかどうかはわかりませんので、ここに私が達成しようとしていることのいくつかの説明があります。

新しいアクティビティを追跡するためにhamster(タイムトラッカー)を実行するためのカスタムショートカットを作成する必要があります。コマンドは次のとおりです。

$ hamster start <activity name>

ホットキーを押したいので( Super+H )次に、アクティビティ名の入力を求められます。次に、入力するテキストがコマンドで使用されます

$ hamster start <my entered text>

どうもありがとう。

1
Juraj.Lorinc

のようなものでしょうか

hamster start "$(zenity --entry)"

あなたのために働きますか?

5
dadexix86

アクティビティ名の入力を求めるスクリプトを取得しようとしている場合は、次のコードを使用できます

#!/bin/bash

echo "Please enter the activity name"
read activity

hamster start $activity

スクリプトを実行すると、「アクティビティ名を入力してください」というメッセージが表示されます。アクティビティ名を入力してEnterキーを押すと、hamster start activityが実行されます。このスクリプトを/usr/local/binに配置すると、簡単にアクセスできます。基本的に、「myscript」という名前を付けてそのフォルダーに配置すると、myscriptを実行するだけでスクリプトを実行できます。最初に実行可能にすることを忘れないでください。

2
Rumesh

誰かがハムスターを使用していて、この機能が便利だと思う場合、これは私の現在の作業コードです:

#!/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)。もっと時間があれば、これに取り組み、コードを更新し続けます。追加したい機能が他にもいくつかあります。

1
Juraj.Lorinc