Especificando vários comandos cd em um arquivo .command

0

Eu tenho um arquivo .command muito pequeno configurado em um servidor mac que basicamente serve apenas para iniciar um processo Python. É mais intuitivo para outras pessoas usar do que abrir o terminal, digitando 'python' e arrastando o arquivo.

No entanto, isso também requer que eu mude o diretório primeiro, pois o script operará nos arquivos no servidor e precisará operar a partir do mesmo diretório em que está contido. O problema é que as duas pessoas que precisam usar isso têm caminhos diferentes ao arquivo, devido à maneira como o servidor está configurado.

Como não posso alterar os servidores para ter os mesmos caminhos, tentei ter comandos cd para os caminhos ambos e isso parece funcionar. Como um caminho sempre não existirá e o outro um comando falhará enquanto o outro for executado.

cd /Volumes/Server/scripts/Script
cd /Volumes/Macintosh\ HD2/Server/Scripts/Script
python Process.py

O que me dará essa resposta:

/Volumes/Server/scripts/Script ; exit;
/Volumes/Macintosh\ HD2/Server/Scripts/Script: line 2: cd: /Volumes/Macintosh\ HD2/Server/Scripts/Script: No such file or directory
### My script runs here with the correct path ###

Isso parece funcionar, mas sei que, se por alguma razão uma pessoa tivesse os dois caminhos como caminhos válidos, eu teria problemas. Eu também não sei se isso poderia levar a outros problemas. Mesmo que pareça que os erros passam silenciosamente, não posso ter certeza de que eles nunca causem problemas. Então, eu tenho duas partes para a questão, quais são as desvantagens de usar os comandos desta forma e existe uma maneira melhor que eu deveria definir esse arquivo .command ?

    
por SuperBiasedMan 28.07.2015 / 15:07

1 resposta

1

Eu usaria um pouco de lógica para determinar se determinados diretórios existem antes de tentar inseri-los:

if [ -d "$DIRECTORY" ]; then
    # Control will enter here if $DIRECTORY exists.
fi

(consulte link )

Dessa forma, você pode controlar o comportamento quando um, ambos ou nenhum diretório existir.

    
por 29.07.2015 / 08:18