Bei der Einrichtung von Pfaden in bash wurde mir beigebracht, die plus sign command Ersatzwert-Parameter-Substitution zu verwenden, um robust gegenüber Situationen zu sein, in denen die Variable noch nicht gesetzt ist.tcsh entspricht Bashs unset-variable aware '+' Parameter Substitution Befehl?
export LD_LIBRARY_PATH="/new/libray/path/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
Auf diese Weise die LD_LIBRARY_PATH
Umgebungsvariable /new/libray/path/:$LD_LIBRARY_PATH
gesetzt wird, wenn LD_LIBRARY_PATH
bereits gesetzt ist, und nur /new/libray/path/
wenn es nicht ist. (Dies ist weniger wichtig in den Common-Path-Variablen, aber ist eine große Hilfe bei der Arbeit mit Programm-spezifischen Pfadvariablen, wie $PYTHONPATH
.)
Leider bin ich in einer Situation, in der ich tcsh anstelle von bash verwenden muss . Gibt es eine gute Alternative zu diesem Bash-Konstrukt in tcsh? Das heißt, was ist der beste Weg LD_LIBRARY_PATH
auf /new/libray/path/:$LD_LIBRARY_PATH
zu setzen, wenn LD_LIBRARY_PATH
bereits gesetzt ist, und es auf nur /new/libray/path/
einzustellen (ohne einen Fehler zu erhöhen), wenn es nicht ist?