Warum bashüberprüft das Folgende , ob ein Verzeichnis fehlschlägt?
if [ ! -d "~/Desktop" ]; then
echo "DOES NOT EXIST"
exit 1;
fi
~/Desktopexistiert tatsächlich. Dies ist übrigens auf einem Mac.
Das Problem liegt bei dieser Art von Skript
read -p "Provide the destination directory: " DESTINATION
if [ ! -d $DESTINATION ]; then
echo "\t'$DESTINATION' does not exist." >&2;
exit 1;
fi
cd "~/Desktop"Sie auch eine Fehlermeldung. Es muss nicht in Anführungszeichen gesetzt oder als Variable gespeichert werden (ohne Anführungszeichen). Beispiel: Funktioniert,a=~/Desktop; cd $a;aber nichta="~/Desktop"; cd Desktop;Siehe serverfault.com/questions/417252/…