chamando $ PWD de outro script

0

Tendo alguns problemas para fazer o $ PWD funcionar dentro de um script bash ...

Eu tenho dois scripts no mesmo diretório:

~/outer.sh, ~/inner.sh . Eu uso outer.sh para chamar inner.sh da seguinte forma:

(conteúdo do outer.sh mostrado abaixo)

#!/bin/bash

$PWD/inner.sh

Mas isso parece não funcionar. Investigações posteriores mostram que $ PWD parece inacessível como eu usei aqui (nada aparece com printf $PWD >> logfile.txt ), e eu suspeito que tem algo a ver com chamar um script de um script ... alguém pode esclarecer o que está acontecendo aqui?

    
por anon01 26.06.2017 / 00:51

1 resposta

3

$PWD é o diretório atual, não o diretório que contém o script. Não há motivo para que inner.sh seja localizado no diretório atual.

O caminho para o script é armazenado em $0 . Você pode extrair sua parte do diretório para encontrar o diretório que contém o script.

script_directory=$(dirname -- "$0")
"$script_directory/inner.sh"
    
por 26.06.2017 / 02:33