
Ich versuche, meineTragbare Git-Bash-Shell für Windows. Beim Ausführen env
erhalte ich:
ANT_HOME=C:\Program Files\WinAnt
PORTABLEAPPS.COMVIDEOS:FORWARDSLASH=H:/Documents/Videos
VBOX_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\
PORTABLEAPPS.COMLOCALEWINNAME=LANG_ENGLISH
PAL:LASTPORTABLEAPPSBASEDIR:DOUBLEBACKSLASH=H:
PAL:DRIVELETTER=H **** this is the variable I am after ******
PAL:APPDIR=H:\PortableApps\GitPortable\App
TEMP=/tmp
Die Variable, auf die ich verweisen möchte, ist PAL:DRIVELETTER=H
. Ich möchte sie verwenden, um meinen Pfad in meinem .bash_profile
Skript festzulegen. Das alles befindet sich auf einem USB-Stick und der Laufwerksbuchstabe ändert sich natürlich von Zeit zu Zeit.
Ich habe versucht, Folgendes wiederzugeben:
$PAL:DRIVELETTER
${PAL:DRIVELETTER}
und zahlreiche andere Dinge.
Antwort1
Das Problem ist, dass dies PAL:DRIVELETTER
kein gültiger Variablenname in Bash ist. Nur alphanumerische Zeichen und Unterstriche sind zulässig. Aus der Bash-Manpage:
DEFINITIONEN
...
Name AWortbesteht nur aus alphanumerischen Zeichen und Unterstrichen und beginnt mit einem alphabetischen Zeichen oder einem Unterstrich. Wird auch alsKennung.
So erhalten Sie den Wert:
pal_driveletter=$(env |grep "^PAL:DRIVELETTER=" | cut -d= -f2-)