Comando para executar uma aplicação dentro de um diretório específico

0

Eu quero poder digitar uma linha de comando para fazer os dois comandos a seguir que eu conheço:

cd ~/rpitwit_commands/
rpitwit

Isso porque eu quero executá-lo automaticamente na inicialização do crontab, e ele precisa ser executado dentro desse diretório. Como vocês sugerem que eu faça isso? Observe que o arquivo de aplicativo real não está nesse diretório (não tenho certeza de como isso funciona no debian linux).

    
por Shahid Rogers 02.11.2013 / 12:31

3 respostas

3

Quando você executa comandos com o cron, o $ PATH é definido como uma lista mínima, então é sempre melhor executar comandos com caminho completo ou o primeiro conjunto PATH .

Você pode executar vários comandos de uma só vez (funciona com o cron também) assim:

cd /home/username/rpitwit_commands && /path/to/command/rpitwit

Se você precisar permanecer no diretório original após a execução dos comandos, coloque-os entre ( ) para executá-los em um subshell.

    
por 02.11.2013 / 12:51
2

Você pode escrever como cd ~/rpitwit_commands && rpitwit

Também c consulte esta questão sobre SO

    
por 02.11.2013 / 12:49
1

Você também pode usar pushd para alterar os diretórios para outro local e, em seguida, popd para retornar para onde você estava.

Exemplo

$ pwd
/home/saml

$ pushd /tmp/
/tmp ~
$ pwd
/tmp

$ popd
~
$ pwd
/home/saml

Esse comando pode ser encadeado usando && operadores. Vá para outro diretório, /tmp , execute o comando echo hi e retorne.

$ pushd /tmp && echo hi && popd
/tmp ~
hi

Confirmando que estamos de volta:

$ pwd
/home/saml
    
por 02.11.2013 / 13:02

Tags