bash文件中的“@INSTALLED_AT@”是什么意思

mar*_*ani 4 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+"$@"}
Run Code Online (Sandbox Code Playgroud)

我对@INSTALLED_AT@感到特别困惑。具体有什么作用

MY_HOME="@INSTALLED_AT@"
Run Code Online (Sandbox Code Playgroud)

做?

Rma*_*ano 7

这可能是一个存根文件。语法@INSTALLED_AT@bash;没有任何意义。它只是一个字符串作为另一个字符串。

在包/源代码/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
Run Code Online (Sandbox Code Playgroud)