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

?

4
задан 14.05.2020, 04:52

1 ответ

Это, вероятно, тупиковый файл . Синтаксис @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
0
ответ дан 14.05.2020, 04:53
  • 1
    Я подозревал столько же. Это разрешает вещи для меня. Спасибо! – harshit 14.05.2020, 04:54

Теги

Похожие вопросы