Qual é o significado de “@ INSTALLED_AT @” em um arquivo bash?

4

Eu tenho um script bash que contém as seguintes linhas:

MY_HOME="@INSTALLED_AT@"
LD_LIBRARY_PATH="@INSTALLED_AT@/lib"
MY_BIN="@INSTALLED_AT@/bin"

export  MY_HOME
export  LD_LIBRARY_PATH

exec "$MY_BIN/my.bin" ${1+"$@"}

Sou particularmente confuso com @INSTALLED_AT @ . Especificamente, o que faz

MY_HOME="@INSTALLED_AT@"

fazer?

    
por marktani 27.02.2014 / 18:09

1 resposta

7

Este é provavelmente um arquivo stub . A sintaxe @INSTALLED_AT@ não significa nada para bash ; é apenas uma string como outra.

No pacote / source / Makefile provavelmente existe outro script (talvez um simples sed ) que irá editar este stub e substituir o @INSTALLED_AT@ pelo caminho de instalação real, que pode ser diferente ou selecionável pelo usuário.

Veja:

(0)asus-romano:~% var="@INSTALLED_AT@/bin"
(0)asus-romano:~% echo $var
@INSTALLED_AT@/bin
(0)asus-romano:~% echo $var | sed s+@INSTALLED_AT@+/usr/local+g 
/usr/local/bin
    
por Rmano 27.02.2014 / 18:43

Tags