我有一个包含以下行的 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+"$@"}
我特别困惑@已安装_在@. 具体来说,
MY_HOME="@INSTALLED_AT@"
做?
答案1
这可能是存根文件。该语法@INSTALLED_AT@
对于 来说毫无意义bash
;它只是一个字符串而已。
在 package/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