Wie kann man in der Bash für eine Variable den Datentyp "String" erzwingen?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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

Woher ich das weiß:eigene Erfahrung – Ich benutze seit 2007 Linux und habe LPIC101 und LPIC102

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.

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995
klugshicer 
Fragesteller
 13.01.2017, 19:37

Vereinfacht steht in dem Script folgendes (der komplette Code für das Großvater-Vater-Sohn-Script würde den Rahmen sprengen)

BACKUPDIR="/Media/Backup";
ZIEL="$BACKUPDIR/2.Freitag";

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

0
barnim  13.01.2017, 22:21
@klugshicer

Additiv dazu:

Wie kann man in der Bash für eine Variable den Datentyp "String" erzwingen?

Da Bash keine Datentypen kennt: gar nicht ;)

2