У меня есть сценарии 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@"
?
Это, вероятно, тупиковый файл . Синтаксис @INSTALLED_AT@
средства ничто к bash
; это - просто строка как другой.
В пакете/источнике/Make-файле существует, вероятно, другой сценарий (возможно, простое 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