Что означает "@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