Что означает "@INSTALLED_AT@" в файле bash

У меня есть сценарии Bash, который содержит следующие строки:

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+"$@"}

Меня особенно смущает @ INSTALLED_AT @. В частности, что делает

MY_HOME="@INSTALLED_AT@"

делать?

1 ответ

Решение

Это, вероятно, заглушка. Синтаксис @INSTALLED_AT@ ничего не значит для bash; это просто строка, как другая.

В пакете /source/Makefile есть, вероятно, другой скрипт (может быть, простой sed), который отредактирует эту заглушку и заменит @INSTALLED_AT@ с фактическим путем установки, который может быть другим или выбираемым пользователем.

Увидеть:

(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
Другие вопросы по тегам