Skip to content

package wrapper inkompatibel zu set -u #280

Open
wwwutz opened this issue Apr 18, 2024 · 1 comment
Open

package wrapper inkompatibel zu set -u #280

wwwutz opened this issue Apr 18, 2024 · 1 comment

Comments

@wwwutz
Copy link
Contributor

wwwutz commented Apr 18, 2024

( set -u; . /pkg/python-3.10.12-0/profile )
-bash: LD_LIBRARY_PATH: unbound variable
man bash
[...]
  set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]
  set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]
[...]
    -u  Treat unset variables and parameters other than the special parameters "@" and "*" as an error when performing parameter expansion.  If ex‐
       pansion is attempted on an unset variable or parameter, the shell prints an error message, and, if not interactive, exits with  a  non-zero status.

ein einfaches ${VAR} => ${VAR:-} würde schon helfen.

ich würde die profiles ja alle fixen, spricht was dagegen ?

@donald
Copy link
Contributor

donald commented Apr 22, 2024

Ich hatte früher die Variante LD_LIBRARY_PATH=/whatever/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} benutzt und bevorzuge die immer noch, weil sie mir am natürlichsten vorkommt. Ich glaube, es gab auch schon mal lange Diskussionen über die Alternativen, aber es wurde bisher kein zwingender technischer Grund für das eine oder andere gefunden, deswegen wurden dann auch andere Formen verwendet, die darauf bauen, dass ein ungesetzte Variable zu einem leeren String expandiert. Du hast jetzt einen Grund gefunden.

Aber deine Variante wäre vollständig ja LD_LIBRARY_PATH=/whatever/lib${LD_LIBRARY_PATH:+:}${LD_LIBRARY_PATH:-} da wäre ich eher für das genannte LD_LIBRARY_PATH=/whatever/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}.

Sign in to join this conversation on GitHub.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants