Executando comandos do diretório raiz da nova área de trabalho

2

Eu tenho um script de shell que cd para um diretório específico para executar um conjunto de arquivos python. Agora que eu tenho isso comprometido com o gerenciamento do código-fonte (o script e os arquivos python), eu estou clonando isso em um espaço de trabalho do Jenkins e quero executar os arquivos de lá. O script está atualmente escrito para ainda cd no repositório local e não no espaço de trabalho do Jenkins, portanto, clonar o repositório está sendo feito redundante Como escrevo um comando cd para que ele reconheça o arquivo existente no espaço de trabalho do Jenkins e o execute a partir daí, em vez dos arquivos locais existentes na mesma máquina

    
por shanwar 22.03.2016 / 15:19

1 resposta

0

Se eu entendi corretamente, você deseja que o diretório test esteja localizado no mesmo local do script.

Você pode obter a localização do script (independentemente do diretório atual quando o executou) assim:

MYPATH='dirname \'readlink -e "$0"\''

Então você pode fazer, por exemplo

cd "$MYPATH/test"

Explicação:

$0 é o nome (incluindo o caminho) do script.

readlink -e /foo/bar fornece a localização absoluta de / foo / bar (também resolve todos os links simbólicos).

dirname reduz a parte do arquivo e deixa apenas o caminho

    
por 22.03.2016 / 17:16