Ich habe das folgende Skript geschrieben, um bei Bedarf einige Umgebungsvariablen festzulegen.
#!/bin/sh
export BASE=/home/develop/trees
echo $BASE
export PATH=$PATH:$BASE
echo $PATH
Unterhalb des Befehls und der Ergebnisse, die ich auf meinem Terminal sehen kann: Das Skript wird ausgeführt, aber die Variablen werden am Ende nicht gesetzt.
~$: ./script.sh
/home/develop/trees
/bin:......:/home/develop/trees
~$: echo $BASE
~$:
Was ist los mit dir? Danke im Voraus. Mirko
export
Variablen an Subshells übergeben, eine Subshell ist eine Kopie Ihrer aktuellen Shell, einschließlich Variablen und Funktionen usw. Exportierte Variablen werden in neue Prozesse kopiert, die von der Shell erzeugt werden, unabhängig davon, ob dieser Prozess eine andere Shell ist oder nicht. Zweitens.
ist der POSIX-Befehl für die Beschaffung. Bash wirdsource
als besser lesbares Synonym hinzugefügt, aber Sie können sich nicht darauf verlassen, dass es in sh verfügbar ist. Und. ./script
nicht zuletzt,. script
wenn Sie Überraschungen vermeiden möchten. mywiki.wooledge.org/BashFAQ/060