[ Gelöst ] Wo ist die Dateinamenexpansion ???

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

[ Gelöst ] Wo ist die Dateinamenexpansion ???

Beitrag von Inkodiktus » 30.01.2015 00:40:48

Geliebtes Forum :mrgreen:

Ich habe ja schon "bisschen" was über Scripting gelesen, habe aber nicht direkt alles ausprobiert.
Und ich schau mal nach und es funktioniert nicht?!!

Einfache Aufgabe:

Code: Alles auswählen

touch t[es]t
Was macht er? Er erstellt genau solche Datei, also t[es]t !

Habe ich irgendwie meinen urxvt totkonfiguriert oder warum will das nicht funktionieren?
In der /etc/passwd steht ja, dass es Bash läuft.

Hilfe!

Viele Grüße!
Zuletzt geändert von Inkodiktus am 30.01.2015 19:28:52, insgesamt 1-mal geändert.
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Wo ist die Dateinamenexpansion ???

Beitrag von Meillo » 30.01.2015 00:53:18

Das Verhalten ist schon korrekt. Die Shell versucht passende Dateien zu finden (`tet' und `tst'), wenn aber nichts matched, dann wird der Globbing-String literal verwendet. Das ist ein definiertes Verhalten der Shell, siehe http://pubs.opengroup.org/onlinepubs/96 ... g_18_13_03:
If the pattern does not match any existing filenames or pathnames, the pattern string shall be left unchanged.
Use ed once in a while!

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: Wo ist die Dateinamenexpansion ???

Beitrag von Inkodiktus » 30.01.2015 00:59:09

Bei technischen Sachen ist mein englisch eher schlecht.
Deshalb warte noch auf die hilfreichen Antworten ^^
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: Wo ist die Dateinamenexpansion ???

Beitrag von catdog2 » 30.01.2015 01:14:29

Deshalb warte noch auf die hilfreichen Antworten ^^
Probiers mal mit der von Meillo.
Unix is user-friendly; it's just picky about who its friends are.

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: Wo ist die Dateinamenexpansion ???

Beitrag von Inkodiktus » 30.01.2015 01:39:02

catdog2 hat geschrieben:
Deshalb warte noch auf die hilfreichen Antworten ^^
Probiers mal mit der von Meillo.
Ich habe mich da bisschen reingelesen und paar Sachen versucht, aber mit einem Misserfolg.
Außerdem stehe ich nicht so auf Ratespielchen, dazu brauche ich kein Forum. :)
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Wo ist die Dateinamenexpansion ???

Beitrag von Meillo » 30.01.2015 09:12:34

Inkodiktus hat geschrieben:
catdog2 hat geschrieben:
Deshalb warte noch auf die hilfreichen Antworten ^^
Probiers mal mit der von Meillo.
Ich habe mich da bisschen reingelesen und paar Sachen versucht, aber mit einem Misserfolg.
Außerdem stehe ich nicht so auf Ratespielchen, dazu brauche ich kein Forum. :)
... manchmal sollte man auch einfach ins Bett gehen(*) und es frisch ausgeschlafen nochmal probieren.

Ganz ehrlich: Ich bin der Meinung, dass meine Erklaerung so gut ist wie du sie dir nur wueschen kannst.

Du musst ja nicht den ganzen verlinkten Text lesen, der ist nur dafuer da, dass die du und die anderen Mitlesenden mir nicht nur glauben muessen sondern selbst ueberpruefen und weitergehend recherchieren koennen. Ich habe mir schon die Muehe gemacht, dir den einzigen wirklich relevanten Satz rauszusuchen. Ich denke, den solltest du zur Not auch mit einem Uebersetzungsprogramm verstehen koennen. Ansonsten, wenn's nur am Sprachverstaendnis scheitert, dann gibt es hier sicher jemanden, der ihn dir auf Deutsch uebersetzt.

In diesem Sinne wuensche ich dir ein Heureka-Erlebnis wenn du dich ausgeschlafen nochmal an die Sache machst ...


* davon ausgehend, dass du dich in unseren Laengen aufhaeltst
Use ed once in a while!

Benutzeravatar
smutbert
Moderator
Beiträge: 8318
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Wo ist die Dateinamenexpansion ???

Beitrag von smutbert » 30.01.2015 10:39:47

Das hat schon jemand gemacht :wink:
Meillo hat geschrieben:[...] Die Shell versucht passende Dateien zu finden (`tet' und `tst'), wenn aber nichts matched, dann wird der Globbing-String literal verwendet.[...]
aber ich kann es auch noch einmal versuchen:
Wenn das Muster zu keinen vorhandenen Dateinamen oder Pfaden paßt, wird die Zeichenkette des Musters nicht verändert.

An deinem Beispiel:
Wenn nichts zu t[est]t paßt, verhält es sich so als hättest du 't[est]t' oder t\[est\]t eingegeben.

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: Wo ist die Dateinamenexpansion ???

Beitrag von Inkodiktus » 30.01.2015 12:42:42

smutbert hat geschrieben:aber ich kann es auch noch einmal versuchen:
Wenn das Muster zu keinen vorhandenen Dateinamen oder Pfaden paßt, wird die Zeichenkette des Musters nicht verändert.
Das habe ich soweit auch verstanden. :THX:

Nur was ich nicht verstehe ist, warum er das macht, obwohl ich doch eine bzw. mehrere Dateien anlegen will?

Und wie lege ich dann mehrere Dateien mit t[es]t an?
Kann gerne auch Verzeichnisse sein.

Darum ging es mir eigentlich die ganze Zeit.
Ich sehe gerade, ich habe am Anfang diese Frage vergessen zu stellen.
Somit verdient Meillo 100 Punkte! :THX:


Zu dem Übersetzen: Es ist nicht immer 100%-ig richtig, was so ein google übersetzt.
Deshalb versuche ich es nur bei normalen Texten.

Und wegen Ausschlafen, da brauchst du dir echt keine Gedanken machen, wenn ich noch schreiben kann, dann arbeitet mein Gehirn auf vollen Touren.
Es kann von deiner Seite her etwas respektlos erscheinen, wenn du so etwas denkst/schreibst.



Grüße
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

Benutzeravatar
smutbert
Moderator
Beiträge: 8318
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Wo ist die Dateinamenexpansion ???

Beitrag von smutbert » 30.01.2015 13:18:36

Was soll die Shell auch sonst machen?
Alle möglichen Strings einzusetzen, unabhängig davon, ob so eine Datei existiert oder nicht, würde dieses Feature der Shell komplett sinnlos machen. Wenn man sich das einmal anhand von ls überlegt:

Code: Alles auswählen

$ ls t[a-z]t
ls: Zugriff auf tat nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tbt nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tct nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tdt nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tet nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tft nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tgt nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tht nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tit nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tjt nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tkt nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tlt nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tmt nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tnt nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tot nicht möglich: Datei oder Verzeichnis nicht gefunden
ls: Zugriff auf tpt nicht möglich: Datei oder Verzeichnis nicht gefunden
[…]
statt dem üblichen

Code: Alles auswählen

$ ls t[a-z]t
ls: Zugriff auf t[a-z]t nicht möglich: Datei oder Verzeichnis nicht gefunden
Das Muster, wenn es nichts passendes gibt, ersatzlos zu streichen würde auch niemanden weiterbringen… also läßt die Shell den String eben so wie er ist.



Wie wäre es mit so etwas wie

Code: Alles auswählen

for i in e s; do touch "t${i}t"; done

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: Wo ist die Dateinamenexpansion ???

Beitrag von Inkodiktus » 30.01.2015 13:59:36

smutbert hat geschrieben: Wie wäre es mit so etwas wie

Code: Alles auswählen

for i in e s; do touch "t${i}t"; done
Ist jetzt "nicht dein ernst", dass es nur so geht? 8O

Wozu dann überhaupt dieses Feature [...] in die Shell "einfügen", wenn man es nicht benutzen kann???
Irgendwie seh ich den Sinn da drin nicht.

Okay, ich kann mit touch t[es]t genau die Datei t[es]t erstellen, aber wozu dann dieses Feature, welches ich dann nicht so einsetzen kann???
Überall wird ja von [...] geschrieben, aber einsetzen kann man es nicht?
Bin jetzt baff.

Grüße
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

newdeb
Beiträge: 134
Registriert: 03.02.2011 11:11:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Frankfurt

Re: Wo ist die Dateinamenexpansion ???

Beitrag von newdeb » 30.01.2015 14:19:22

Inkodiktus hat geschrieben:
smutbert hat geschrieben: Und wie lege ich dann mehrere Dateien mit t[es]t an?
mit Brace Expansion:

Code: Alles auswählen

touch t{e,s}t

Benutzeravatar
4A4B
Beiträge: 925
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Wo ist die Dateinamenexpansion ???

Beitrag von 4A4B » 30.01.2015 15:20:45

Inkodiktus hat geschrieben:Okay, ich kann mit touch t[es]t genau die Datei t[es]t erstellen, aber wozu dann dieses Feature, welches ich dann nicht so einsetzen kann???
Auch das hat meillo bereits erklärt:
meillo hat geschrieben:Die Shell versucht passende Dateien zu finden (`tet' und `tst')
Wenn sich in dem Verzeichnis, in welchem du den Befehl "touch t[es]t" ausführst, eine Datei mit dem Namen tet befindet, würde diese einen neuen Timestamp erhalten

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: Wo ist die Dateinamenexpansion ???

Beitrag von Inkodiktus » 30.01.2015 18:25:40

touch t{e,s}t
Das ist doch gar nicht so schlecht!

Was heißt Brace Expansion zu deutsch?
Bitte nicht immer mit englischen Wörtern um sich schmeißen, die finde ich im Buch eher schlecht.
4A4B hat geschrieben:
Inkodiktus hat geschrieben:Okay, ich kann mit touch t[es]t genau die Datei t[es]t erstellen, aber wozu dann dieses Feature, welches ich dann nicht so einsetzen kann???
Auch das hat meillo bereits erklärt:
meillo hat geschrieben:Die Shell versucht passende Dateien zu finden (`tet' und `tst')
Wenn sich in dem Verzeichnis, in welchem du den Befehl "touch t[es]t" ausführst, eine Datei mit dem Namen tet befindet, würde diese einen neuen Timestamp erhalten
Ja, touch ist nur ein Beispiel, genauso gut bzw. schlecht geht es mit mkdir nicht!
Oder macht er nur dann ein Verzeichnis, wenn es schon eins gab? *augenrollenmitverwirrtsein* 8O
Ich versteh die Logik hinter [...] nicht.
Ja ich weiß, er hats schon erklärt, aber mir geht es um erstellen neuer Dateien/Verzeichnisse.
Mit ls würde ich das noch verstehen.

Ansonsten mit { } und "," funktioniert so wie es sollte. :THX:

Aber wenn ich wieder so etwas machen will:

Code: Alles auswählen

mkdir t{a-d}t
dann geht es wieder nicht.

Alles sehr mysteriös. Habt ihr vielleicht einen Link dazu aber auf deutsch?
Würde sehr gerne der Sache auf dem Grund gehen.
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

newdeb
Beiträge: 134
Registriert: 03.02.2011 11:11:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Frankfurt

Re: Wo ist die Dateinamenexpansion ???

Beitrag von newdeb » 30.01.2015 18:51:16

Inkodiktus hat geschrieben: Was heißt Brace Expansion zu deutsch?
Das heißt Stützapparat-Nachrüstung. :)

Nein, im Ernst, sowas wie "Expansion geschweifter Klammern" (das sind die "braces").
Eine der von der Shell beim Parsen der Kommandozeile ausgeführten Expansionen. (z.Z. von POSIX nicht spezifiziert).
Inkodiktus hat geschrieben: Aber wenn ich wieder so etwas machen will:

Code: Alles auswählen

mkdir t{a-d}t
dann geht es wieder nicht.
Die Syntax ist hier etwas abweichend:

Code: Alles auswählen

$ echo t{a..d}t
tat tbt tct tdt
Grund dafür ist, das {a-d} eine erlaubte Parameter-Expansion für die Variable a sein könnte:

Code: Alles auswählen

$ unset a; echo ${a-d}
d
Lesestoff in Amtsdeutsch :lol:
https://www-user.tu-chemnitz.de/~hot/un ... /bash.html
https://www-user.tu-chemnitz.de/~hot/un ... html#expbr
Zuletzt geändert von newdeb am 30.01.2015 22:03:20, insgesamt 1-mal geändert.

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: Wo ist die Dateinamenexpansion ???

Beitrag von Inkodiktus » 30.01.2015 19:16:00

@newdeb: Der eine Link mit Anker, der geht wohl nicht, habe aber auch so Brace Expansion finden können!
Das sieht ganz gut aus!
Willst du Hymnen der Ehrerbietung hören oder reicht da auch eine Smiley-Orgie? :mrgreen:
Besten Dank!
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

newdeb
Beiträge: 134
Registriert: 03.02.2011 11:11:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Frankfurt

Re: Wo ist die Dateinamenexpansion ???

Beitrag von newdeb » 30.01.2015 22:05:10

Inkodiktus hat geschrieben:@newdeb: Der eine Link mit Anker, der geht wohl nicht
Danke für den Hinweis. Ist korrigiert.

Benutzeravatar
4A4B
Beiträge: 925
Registriert: 09.11.2011 11:19:55
Kontaktdaten:

Re: Wo ist die Dateinamenexpansion ???

Beitrag von 4A4B » 31.01.2015 08:23:32

Inkodiktus hat geschrieben:
4A4B hat geschrieben:
Inkodiktus hat geschrieben:Okay, ich kann mit touch t[es]t genau die Datei t[es]t erstellen, aber wozu dann dieses Feature, welches ich dann nicht so einsetzen kann???
Auch das hat meillo bereits erklärt:
meillo hat geschrieben:Die Shell versucht passende Dateien zu finden (`tet' und `tst')
Wenn sich in dem Verzeichnis, in welchem du den Befehl "touch t[es]t" ausführst, eine Datei mit dem Namen tet befindet, würde diese einen neuen Timestamp erhalten
Ja, touch ist nur ein Beispiel, genauso gut bzw. schlecht geht es mit mkdir nicht!
Oder macht er nur dann ein Verzeichnis, wenn es schon eins gab? *augenrollenmitverwirrtsein* 8O
Ich versteh die Logik hinter [...] nicht.
Mit mkdir macht das keinen Sinn, aber mit rmdir z.B. ;) Es geht darum, einen Teil der vorhandenen Dateien / Verzeichnisse als Argumente von touch, rmdir etc. anzugeben, ohne diese alle einzeln eintippen zu müssen. Wenn du z.B. nur die Verzeichnisse bla-1 bis bla-7 löschen möchtest, aber nicht bla-8 und bla-9:

Code: Alles auswählen

rmdir bla-[1-7]
Brace Expansion ginge hier zwar auch, aber z.B. nicht bei touch, weil touch dann nämlich was anderes macht (auch leere Dateien anlegen, statt nur Timestamps setzen). Und Brace Expansion ist nicht so portabel.


Edit:

und falls es in dem obigen Beispiel das Verzeichnis bla-5 nicht gibt, dann gibt rmdir + Brace Expansion eine Fehlermeldung aus, rmdir + [..] hingegen nicht, weil bei letzterem nur die gefundenen Dateinamen als Argument übergeben werden

Benutzeravatar
Inkodiktus
Beiträge: 702
Registriert: 15.08.2013 01:15:35
Lizenz eigener Beiträge: GNU General Public License
Wohnort: » host@user╺─╸[~]

Re: [ Gelöst ] Wo ist die Dateinamenexpansion ???

Beitrag von Inkodiktus » 31.01.2015 13:55:45

@4A4B: Danke für die weitreichenden Infos!
Brace Expansion ginge hier zwar auch, aber z.B. nicht bei touch, weil touch dann nämlich was anderes macht (auch leere Dateien anlegen, statt nur Timestamps setzen). Und Brace Expansion ist nicht so portabel.
Was heißt "Brace Expansion ist nicht so portabel" ??

Mein Fehler war, das [...] als eine gängige Expansion zu sehen, mit der ich alles expandieren kann.
Wildcards und Brace Expansion sind ja zwei verschiedene Sachen.
Wobei ich es für Schwachsinn erhalte, dass man das [...] und das {...} nehmen kann und dann noch mit anderen Zeichen!
Das sind dann "fast" 2 Möglichkeiten eine Sache zu machen, was ja bei manchen Befehlen zu Fehlermeldung führt!
Bei der ganzen Sache wird man nur bekloppt. :mrgreen:
Ja, warum einfach machen, wenn es kompliziert ist. Jetzt ist mir klar, warum Linux so lange auf seine Erweckung warten musste.
So etwas kriegen nur Hacker zu Stande. :D
Nach dem Motto:
"Where is the next mountain?" :facepalm: :mrgreen:
Meine Sprachkenntnisse: nur deutsch
Mein Laptop: http://www.asus.com/Notebooks_Ultrabook ... ifications
Mein Debian: Stable + OpenBox
Mein Editor: Emacs
Meine Devise: Frei bleiben - so lange wie es geht : -)

Liffi
Beiträge: 2306
Registriert: 02.10.2004 01:33:05

Re: [ Gelöst ] Wo ist die Dateinamenexpansion ???

Beitrag von Liffi » 31.01.2015 14:10:23

Inkodiktus hat geschrieben: Ja, warum einfach machen, wenn es kompliziert ist. Jetzt ist mir klar, warum Linux so lange auf seine Erweckung warten musste.
Andere Betriebssysteme versteck(t)en Herunterfahren unter Start. Da finde ich das mit der unterschiedlichen Syntax für unterschiedliche Dinge in der Shell noch einigermaßen erträglich.

newdeb
Beiträge: 134
Registriert: 03.02.2011 11:11:21
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Frankfurt

Re: [ Gelöst ] Wo ist die Dateinamenexpansion ???

Beitrag von newdeb » 31.01.2015 14:31:29

[...] und {..} sind für völlig verschiedene Aufgaben gedacht:
[ ] : Definition einer Zeichenmenge/Zeichenbereiches innerhalb eines Vergleichsmusters (Glob oder Regex)
{..} : einfaches Generieren von Sequenzen
Und beide können wunderbar zusammenarbeiten, z.B.

Code: Alles auswählen

mkdir dir-{01..10} && chmod 777 dir-0[1-3]
Man muss sich halt vorher genau überlegen, was man braucht und wie portabel es sein soll. (Z.B. kennt die "dash" keine Brace Expansion).

Benutzeravatar
Meillo
Moderator
Beiträge: 8782
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [ Gelöst ] Wo ist die Dateinamenexpansion ???

Beitrag von Meillo » 31.01.2015 14:38:18

Inkodiktus hat geschrieben: Was heißt "Brace Expansion ist nicht so portabel" ??
Das bedeutet, dass sie nicht Teil von POSIX ist und nicht von allen Bourne-kompatiblen Shells unterstuetzt wird.

Wildcards und Brace Expansion sind ja zwei verschiedene Sachen.
[...]
Das sind dann "fast" 2 Möglichkeiten eine Sache zu machen, [...]
Da widersprichst du dir selbst. ;-) Du hast aber richtig erkannt: Es sind zwei ganz verschiedene Sachen.

1) Wildcards/Globbing ist eine Pattern-Matching-Funktion, man sucht damit die Menge aller Dateinamen, auf die das Pattern zutrifft.

2) Brace-Expansion dagegen generiert Strings.

... es ist lediglich so, dass man manchmal mit beiden Funktionen zum gleichen Ziel kommt.

was ja bei manchen Befehlen zu Fehlermeldung führt!
Nicht bei den Befehlen, sondern in der Shell. -- Das ist ein entscheidender Verstaendnisschritt.

Bei der ganzen Sache wird man nur bekloppt. :mrgreen:
Ja, warum einfach machen, wenn es kompliziert ist. Jetzt ist mir klar, warum Linux so lange auf seine Erweckung warten musste.
So etwas kriegen nur Hacker zu Stande. :D
... oder Personen, die sich in Ruhe einlesen und die Realitaet verstehen wollen um in ihr zurecht zu kommen. Probleme haben diejenigen, die denken die Realitaet waere so, wie sie glauben, dass sie sein sollte, und dann daran scheitern, dass sie anders ist.

Hier eine empfehlenswerte Lektuere fuer dich: http://www.felix-schwarz.name/files/ope ... t_Windows/
Use ed once in a while!

artemis
Beiträge: 447
Registriert: 21.12.2005 23:11:11

Re: [ Gelöst ] Wo ist die Dateinamenexpansion ???

Beitrag von artemis » 31.01.2015 15:04:48

Meillo hat geschrieben:Nicht bei den Befehlen, sondern in der Shell. -- Das ist ein entscheidender Verstaendnisschritt.
Und ich glaube, dass wurde vom TE nicht bedacht. [] und {} werden von der Shell ausgewertet, und nicht vom jeweiligen Befehl...

Bis dann,
artemis

Antworten