Lae6ge6k
Anmeldungsdatum: 19. Februar 2013
Beiträge: 566
|
Mit folgendem Bash
| #!/bin/bash
date "+%d/%m/%y"
ziel2=date "+%d"+1
Unterordner=date '+%d'+1
ziel=${"/home/internet/Arbeitsfläche/Programmieren-quellcode/C++ output/Datei/Datei/2013/Dezember/"+$ziel2}
echo "$message"
mkdir -p -v $ziel2/{$Unterordner,lot}
|
möchte ich einen/mehrere Unterordner herstellen. Aber funktioniert nicht.
Ich bräuchte dabei hilfe.
Wie macht man das richtig?
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
Du möchtest Dir das Bash-Tutorial angucken, glaube ich, und darin insbesondere die Variablenzuweisung ... 😉 Und bei date hilft Dir mit Sicherheit man date weiter, so wie in diesem Beispiel. Denk bitte unbedingt an korrektes "quoten", damit Du nicht beim ersten Leerzeichen im Dateipfad Dein blaues Wunder erlebst ! LG, track
|
Lae6ge6k
(Themenstarter)
Anmeldungsdatum: 19. Februar 2013
Beiträge: 566
|
/home/internet/Arbeitsfläche/3Dez.sh: Zeile 3: +%d+1: Kommando nicht gefunden.
/home/internet/Arbeitsfläche/3Dez.sh: Zeile 5: +%d+1: Kommando nicht gefunden.
/home/internet/Arbeitsfläche/3Dez.sh: Zeile 6: ${"/home/internet/Arbeitsfläche/Programmieren-quellcode/C++ output/Datei/Datei/2013/Dezember/"+$ziel2}: Falsche Variablenersetzung.
mkdir: das Verzeichnis »/lot“ kann nicht angelegt werden: Keine Berechtigung
Jetzt habe ich mein Bash nochmal geändert, siehe folgenden Bashcode
1
2
3
4
5
6
7
8
9
10
11
12 | #!/bin/bash
date "+%d/%m/%y"
echo "$date"
ziel2=date "+%d"+1
echo "$ziel2"
Unterordner=date '+%d'+1
echo "$Unterordner"
ziel=${"/home/internet/Arbeitsfläche/Programmieren-quellcode/C++ output/Datei/Datei/2013/Dezember/"+$ziel2}
echo "$ziel"
mkdir -p -v $ziel2/{$Unterordner,lot}
|
12:33:08 internet > '/home/internet/Arbeitsfläche/3Dez.sh'
05/12/13
/home/internet/Arbeitsfläche/3Dez.sh: Zeile 4: +%d+1: Kommando nicht gefunden.
/home/internet/Arbeitsfläche/3Dez.sh: Zeile 6: +%d+1: Kommando nicht gefunden.
/home/internet/Arbeitsfläche/3Dez.sh: Zeile 8: ${"/home/internet/Arbeitsfläche/Programmieren-quellcode/C++ output/Datei/Datei/2013/Dezember/"+$ziel2}: Falsche Variablenersetzung.
mkdir: das Verzeichnis »/lot“ kann nicht angelegt werden: Keine Berechtigung
Ich weiss einfach nicht weiter.
|
g123
Anmeldungsdatum: 5. November 2007
Beiträge: 490
|
Meinst du folgendes?
Das ist doch das gleiche wie ziel2.
| ziel=${"/home/internet/Arbeitsfläche/Programmieren-quellcode/C++ output/Datei/Datei/2013/Dezember/"+$ziel2}
|
Warum benutzt du hier Parameter Substitution? Meinst du vielleicht einfach folgendes?
| ziel="/home/internet/Arbeitsfläche/Programmieren-quellcode/C++ output/Datei/Datei/2013/Dezember/$ziel2"
|
Die Variable $message existiert doch gar nicht.
| mkdir -p -v $ziel2/{$Unterordner,lot}
|
Hier legst du zwei Ordner im Arbeitsverzeichnis an: "$ziel2/$Unterordner" und "$ziel2/lot" ? Aus dem Skript wird mir nicht so richtig klar, was du überhaupt erreichen willst.
|
Lae6ge6k
(Themenstarter)
Anmeldungsdatum: 19. Februar 2013
Beiträge: 566
|
Mit folgendem Bash
#!/bin/bash
date "+%d/%m/%y"
ziel2=date "+%d"+1
Unterordner=date '+%d'+1
ziel=${"/home/internet/Arbeitsfläche/Programmieren-quellcode/C++ output/Datei/Datei/2013/Dezember/"+$ziel2}
echo "$message"
mkdir -p -v $ziel2/{$Unterordner,lot}
> möchte ich einen/mehrere Unterordner herstellen. Mein Ziel ist unterstrichen!
|
g123
Anmeldungsdatum: 5. November 2007
Beiträge: 490
|
ANDREAS 1967 schrieb: > möchte ich einen/mehrere Unterordner herstellen. Mein Ziel ist unterstrichen!
Das du irgendwelche Ordner erstellen willst habe ich schon mitbekommen. Da der Skript aber keinen Sinn macht, ist mir nicht klar, welche Ordner das überhaupt sein sollen.
|
Lae6ge6k
(Themenstarter)
Anmeldungsdatum: 19. Februar 2013
Beiträge: 566
|
Die Ordner die ich in meinem Skript erwähnt habe, haben nur für mich ein Bedeutung, und sind Austauschbar?!
Die ordnernamen sind also folgende >>>
"/home/internet/Arbeitsfläche/Programmieren-quellcode/C++ output/Datei/Datei/2013/Dezember/" Unterordner,lot
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
ANDREAS 1967 schrieb: Jetzt habe ich mein Bash nochmal geändert, siehe folgenden Bashcode
... ähm, aber meine Links hast Du Dir nicht angeguckt, oder ? - sonst würdest Du Deine "Befehlssubstitution" nämlich korrekt und sinnvoll schreiben, z.B. als: | #!/bin/bash
datum=$( date "+%d/%m/%y" )
echo "$datum"
...
|
Du solltest Dich wohl doch mal ins Thema einlesen und nicht hartnäckig bei Deinem falschen Code bleiben ... LG, track
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 13219
|
ANDREAS 1967 schrieb: > möchte ich einen/mehrere Unterordner herstellen. Mein Ziel ist unterstrichen!
Ja, das ist schon klar. Hast Du denn nun mal den Link und die Hinweise verfolgt, die Dir track gegeben hat? Wenn nicht, bitte machen. Außerdem müsstest Du mal herauslassen, wie denn die Verzeichnisse zu benennen sind. Aus Deinem Code ist das, jedenfalls für mich, nicht so ohne weiteres herauszulesen. Ciao robert
|
Lae6ge6k
(Themenstarter)
Anmeldungsdatum: 19. Februar 2013
Beiträge: 566
|
Jetzt habe ich mein Skript nocheinmal geändert, siehe folgendes >>>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | #!/bin/bash
date "+%d/%m/%y"
ziel2=$[`date "+%d"`+1]
datum=$( date "+%d" )+1
echo "$datum"
echo "$date"
echo "$ziel2"
echo "$Unterordner"
ziel="/home/internet/Arbeitsfläche/Programmieren-quellcode/C++ output/Datei/Datei/2013/Dezember/"
echo "$ziel"
mkdir -p -v $ziel/{$datum,lot}
|
aber der output ist falsch >>>
13:35:24 internet > '/home/internet/Arbeitsfläche/3Dez.sh'
05+1
6
/home/internet/Arbeitsfläche/Programmieren-quellcode/C++ output/Datei/Datei/2013/Dezember/
mkdir: Verzeichnis »output“ angelegt
mkdir: Verzeichnis »output/Datei“ angelegt
mkdir: Verzeichnis »output/Datei/Datei“ angelegt
mkdir: Verzeichnis »output/Datei/Datei/2013“ angelegt
mkdir: Verzeichnis »output/Datei/Datei/2013/Dezember“ angelegt
mkdir: Verzeichnis »output/Datei/Datei/2013/Dezember//05+1“ angelegt
mkdir: Verzeichnis »output/Datei/Datei/2013/Dezember//lot“ angelegt
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
Was soll das, den Code sinnlos und "wild" zu ändern, aber die entscheidenden Links, die ich Dir gegeben habe einfach zu ignorieren ?? Willst Du uns ärgern , oder hast Du "alles im Griff" ?? Noch einmal: lies Dir bitte man date durch, insbesondere die Geschichte mit der Option "-d" ! (Vergiss den Code mit eckigen Klammern von g123, das ist Blödsinn. → nimm das, was das Wiki empfiehlt.) Dann wird das nämlich sowas: date -d +1day track
|
Dominik_Schuster
Anmeldungsdatum: 19. September 2013
Beiträge: 122
|
Hi, also fassen wir mal zusammen: Du willst 1. Einen oder mehrere Ordner mit einer festdefinierten Variable erstellen 2. Diesem Ordner ein (erstell) Datum beifügen? 3. Das ganze mit einem "aufwendigen" Script machen weil du das öfter machen willst? Danke schon mal im Vorraus für mehr Infos 😛 PS: An Track Ich glaub ihr findet nicht mehr zusammen 😉 Mfg, Dominik
|
Lae6ge6k
(Themenstarter)
Anmeldungsdatum: 19. Februar 2013
Beiträge: 566
|
Einen besonderen Dank an Dominik Schuster
Du hast mich schon verstanden. Das ganze mit einem "aufwendigen" Script machen weil du das öfter machen willst?
Jawohl, und zwar täglich. Die Punkte 1 bis 3 kann ich bestätigen. Weil die kommen meinen Neigungen (Wünsche) entgegen.
|
Dominik_Schuster
Anmeldungsdatum: 19. September 2013
Beiträge: 122
|
So falls du das täglich machen willst dann könnte ich dir Cron empfehlen.
Da kannst du dann den Pfad deines Scriptes angeben und dann wird es zu einem selbst definierten Zeitpunkt ausgeführt. Mfg, Dominik
|
Lae6ge6k
(Themenstarter)
Anmeldungsdatum: 19. Februar 2013
Beiträge: 566
|
Dominik Schuster ...cron
ist schon richtig. Aber den einzurichten ist ein anderes Thema.
Und die Skript's, siehe oben, funktionieren nicht so wie die es sollten.
|