Ich habe beide Methoden ausprobiert, um den Pfad im folgenden Skript freizugeben:
#!/bin/bash -x
PGHOME="/Applications/pgAdmin 4.app/Contents/SharedSupport"
$PGHOME/psql --username postgres -c "drop database $1"
Ich habe auch versucht, Zeile 2 zu ändern:
PGHOME=/Applications/pgAdmin\ 4.app/Contents/SharedSupport
In beiden Fällen erhalte ich den Skriptfehler:
./pg10-restoreDb.sh: Zeile 3: / Applications / pgAdmin: Keine solche Datei oder Verzeichnis
Von der Shell aus kann ich /Applications/pgAdmin\ 4.app/Contents/SharedSupport/psql
kein Problem ausführen
Was könnte diesen Fehler verursachen?
Antworten:
Sie können das Leerzeichen beim Definieren der Variablen entweder in Anführungszeichen setzen oder es maskieren. Sie müssen es dann jedoch auch doppelt in Anführungszeichen setzen, wenn Sie es verwenden:
quelle