Ich schreibe ein Shell-Skript. In diesem Shell-Skript habe ich eine Variable, die entweder einen Standardwert oder den Wert einer Umgebungsvariablen verwendet. Die Umgebungsvariable muss jedoch nicht vorhanden sein.Shell-Skript: Wie überprüft man, ob eine Umgebungsvariable existiert, und ihren Wert erhalten?
Zum Beispiel übernehmen, bevor das Skript ausgeführt wird, führe ich die folgende Operation:
export DEPLOY_ENV=dev
Wie sage ich dem Skript für diese Umgebungsvariable zu suchen und speichern seinen Wert in einer Variablen im Script . Wie kann ich dem Skript mitteilen, dass, wenn diese Umgebungsvariable nicht existiert, eine Standardvariable gespeichert wird?
'printenv DEPLOY_ENV' sollte es – sjsam
tun habe ich versucht, zu Testzwecken tempV = $ (printenv LANG) es tat nichts drucken, obwohl das System den Wert LANG hat –
Ihre Aussage "druckt" nichts. Es speichert den Wert der Umgebungsvariable 'LANG' in der Shell-Variable' tempV'. Wie bei den anderen Vorschlägen in diesem Thread: Beachten Sie, dass Sie bei keiner von ihnen unterscheiden können, ob Sie eine Umgebungsvariable oder eine Shell-Variable haben. Wenn diese Unterscheidung wirklich wichtig ist, sollte die von @sjsam vorgeschlagene Lösung in Betracht gezogen werden. – user1934428