Como solicitar argumentos e executar o programa com o argumento

1

Não tenho certeza se a minha pergunta é clara o suficiente, então aqui estão algumas explicações sobre o que estou tentando alcançar.

Eu preciso criar um atalho personalizado para executar o hamster (rastreador de tempo) para rastrear novas atividades. O comando é:

$ hamster start <activity name>

então eu quero pressionar a tecla de atalho ( Super + H ) e, em seguida, quero que o nome da atividade seja solicitado. Então o texto que eu vou entrar será usado no comando

$ hamster start <my entered text>

Muito obrigado.

    
por Juraj.Lorinc 14.01.2016 / 13:43

3 respostas

5

Seria algo como

hamster start "$(zenity --entry)"

trabalhe para você?

    
por dadexix86 14.01.2016 / 13:53
2

Se você estiver tentando obter um script que solicitará o nome da atividade, use o seguinte código

#!/bin/bash

echo "Please enter the activity name"
read activity

hamster start $activity

quando você executar o script, você será solicitado com a mensagem "Por favor, digite o nome da atividade". Depois de digitar o nome da sua atividade e pressionar Enter, ele será executado em hamster start activity . você pode colocar esse script em /usr/local/bin para facilitar o acesso. Basicamente, se você nomear "myscript" e colocá-lo nessa pasta, você pode executar o script apenas executando myscript . lembre-se de torná-lo um executável primeiro.

    
por Rumesh 14.01.2016 / 13:56
1

Caso alguém esteja usando o hamster e achar esse recurso acessível, este é o meu código de trabalho atual:

#!/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

Ele é colocado na pasta /usr/local/bin/ . E na mesma pasta está o arquivo hamster-log com permissões 777. Estou usando o Atalho Super + H e para executar este script e Super + Desloca + H para parar a atividade (comando hamster stop ). Quando tiver mais tempo, continuarei trabalhando nisso e atualizando o código. Há mais alguns recursos que gostaria de adicionar.

    
por Juraj.Lorinc 14.01.2016 / 23:58