Ich stehe vor einem seltsamen Problem. Ich habe eine VM mit Solaris 11 und versuche, einige Bash-Skripte zu schreiben.
Wenn ich auf der Shell Folgendes eingebe:
export TEST=aaa
und anschließend ausführen:
set
Ich sehe korrekt eine neue Umgebungsvariable namens TEST, deren Wert aaa ist. Wenn ich jedoch im Grunde das Gleiche in einem Skript mache. Wenn das Skript beendet wird, wird der Variablensatz nicht angezeigt. Um ein konkretes Beispiel zu geben, wenn ich in einer Datei test.sh habe:
#!/usr/bin/bash
echo 1: $TEST #variable not defined yet, expect to print only 1:
echo 2: $USER
TEST=sss
echo 3: $TEST
export TEST
echo 4: $TEST
es druckt:
1:
2: daniele
3: sss
4: sss
und nach seiner Ausführung wird TEST nicht in der Shell festgelegt. Vermisse ich etwas Ich habe versucht, sowohl TEST = sss als auch die separate Variable set / export ohne Unterschied zu exportieren.