Wie andere gesagt haben, bash es nicht zulässt, dass so können Sie Ihre Lieblings-Skriptsprache verwenden müssen werde, es zu tun. Zum Beispiel in Perl:
perl -e '$ENV{"property.name"} = "property.value"; system "bash"'
Dies wird ein Sub-Shell bash mit dem property.name
Umgebungsvariable in Brand, aber man kann immer noch nicht, dass das Umgebungsvariable von bash zugreifen (auch wenn Ihr Programm wird in der Lage sein, es zu sehen) .
bearbeiten: @MarkEdgar kommentierte, dass die env Befehl arbeiten:
env 'property.name=property.value' bash # start a subshell, or
env 'property.name=property.value' command arg1 arg2 ... # Run your command
Wie üblich, nur Anführungszeichen benötigen, wenn Sie von der Shell Sonderzeichen schützen müssen oder wollen Räume in der einzubeziehen Name oder Wert der Eigenschaft
Arbeitet nicht env? –
@MarkEdgar: Ja, 'env' funktioniert. Ich wusste einfach nicht, dass es verwendet werden könnte, Umgebungsvariablen * zu setzen, ich habe es nur benutzt, um * Umgebungsvariablen * anzuzeigen. –