Wie kann man in der Bash für eine Variable den Datentyp "String" erzwingen?
ich habe eine Variable die eine Pfadangabe enthält, die noch nicht existiert - das war bisher auch kein Problem, denn die Existenz des Verzeichnisses wird später geprüft und das Verzeichnis ggf. angelegt.
Seit dem gestrigen Update meines Debian Jessie meckert die Bash auf einmal dass das Verzeichnis das in der Variablen beschrieben wird nicht existiert.
Wie es aussieht erkennt also die Bash jetzt dass es sich um eine Verzeichnis-Angabe handelt - das ist jedoch nicht erwünscht und ich möchte dass die Variable als String formatiert wird.
kann man das irgendwie erzwingen?
3 Antworten
Hallo
Seit dem gestrigen Update meines Debian Jessie meckert die Bash auf
einmal dass das Verzeichnis das in der Variablen beschrieben wird nicht
existiert.
Auch wenn Dein Problem inzwischen gelöst ist, so wollte ich noch anmerken
das man ein Script auch so ausführen kann das es mehr Informationen
ausgibt darüber was es gerade tut:
bash -x scriptname.sh
Damit kannst Du genau sehen was die Bash macht und somit sehen wo der Fehler liegt bzw. lag.
Linuxhase
Klingt für mich nach einem Leerzeichen zu viel.
Also: x="abc". Nicht: x= "abc".
Gruß
Tuxgamer
Das ist etwas anders, was da passiert ist. Irgend etwas ruft diese Variable auf. Mit Formatierung hat das nichts zu tun.
Additiv dazu:
Wie kann man in der Bash für eine Variable den Datentyp "String" erzwingen?
Da Bash keine Datentypen kennt: gar nicht ;)
Vereinfacht steht in dem Script folgendes (der komplette Code für das Großvater-Vater-Sohn-Script würde den Rahmen sprengen)
Das Verzeichnis "/Media/Backup" existiert zu diesem Zeitpunkt bereits, aber das Unterverzeichnis "2.Freitag" existiert u.U noch nicht.
Dessen Existenz wird später geprüft und ggf. mit mkdir neu angelegt.
Inzwischen konnte ich das Problem anderweitig lösen in dem ich den Pfad erst später bei der eigentlichen Prüfung zusammen setze.
Das Script funktioniert also wieder