GNU/Linux >> LINUX-Kenntnisse >  >> Linux

SPEC %files-Attribut und Shell-Variablen

Leider wird alles, was in der Shell definiert ist, die durch die Abschnitte %prep, %build oder %install gestartet wurde, nicht in der Build-Umgebung beibehalten. Sie müssten %{AXIS2_C} definieren, ein MACRO Variable (keine Shell-Variable):

%define AXIS2_C /usr/local/something

und beziehen Sie sich dann in Ihren beiden Shells auf

make whatever FOO=%{AXIS2_C} # or however you used the env variable

und verwenden Sie dann im Abschnitt %files

%file
%{AXIS2_C}/bin/services/services.xml

Normalerweise befindet sich das anfängliche %define ganz oben in der Spezifikationsdatei, zusammen mit einer Dokumentation darüber, wozu es dient. Wenn Sie das Makro dynamisch setzen müssen, müssen Sie komplexere RPM-spezifische Makrobefehle wie %() verwenden, um Shell-Erweiterungen durchzuführen.


Linux
  1. So setzen/erstellen Sie Umgebungs- und Shell-Variablen in Linux

  2. Unterschied zwischen Login-Shell und Nicht-Login-Shell?

  3. Einfärben Ihrer Terminal- und Shell-Umgebung?

  4. Der Unterschied in der Verwendung zwischen Shell-Variablen und Umgebungsvariablen?

  5. Erweiterung einer Shell-Variablen und Auswirkung von Glob und Split darauf?

So setzen und listen Sie Umgebungsvariablen in Linux auf

Shell-Scripting Teil 2:Akzeptieren von Eingaben und Ausführen von Shell-Arithmetik

So richten Sie ZSH und Oh-my-zsh unter Linux ein

So installieren und verwenden Sie die ZSH-Shell unter Linux

So installieren und verwenden Sie Nu Shell unter Linux

So setzen und löschen Sie Umgebungsvariablen unter Linux