deixe o script encontrar o próprio caminho [duplicado]

3

Eu quero que um script bash descubra seu próprio caminho.

O pano de fundo é que tenho um script chamado process_scanned_text.sh , que usa o script curves . Eu coloquei curves no mesmo diretório que process_scanned_text.sh . Eu criei um symlink para process_scanned_text.sh na minha pasta ~/bin . Agora eu não sei como chamar corretamente o script curves . Como não está em $PATH , preciso especificar seu caminho. Usar ponto como caminho não está correto, pois isso aponta para o diretório do qual eu chamo process_scanned_text.sh . Usar dirname $0 não funciona, pois isso aponta para minha pasta bin (onde o link simbólico é).

    
por jan 22.12.2014 / 20:08

1 resposta

5

Nos sistemas Linux que possuem o GNU Coreutils instalado, ou no FreeBSD > = 8.3:

Em um script de shell, chame readlink -f "$0" para localizar o nome do caminho canônico do script, que resolverá quaisquer links simbólicos. Chame dirname para obter o nome do diretório.

    
por 22.12.2014 / 20:37