-1 (also eins) gibt es nicht lt. man. Google kennt es ebenfalls nicht. Desweiteren stimmt was mit den $i nicht. Was wird in dem script Dateien mäßig überhaupt gemacht um den Dateinamen zwischen den html title tag zu bekommen? Es wird irgendwas via symlink auf einer bestimmten Verzeichnisebene (daher wohl -1) gemacht. Mir erschließt sich das aber nicht.for i in `ln -1`; do sed -e "s/<title>[a-zA-Z0-9]*<\/title>/<title>$i<\/title>/g" $i > .tmp; cat .tmp> $i; done
Quelle: https://www.quora.com/How-can-I-use-bas ... e-filename
(gelöst) Was bedeutet ln -1 in einem script?
(gelöst) Was bedeutet ln -1 in einem script?
Zuletzt geändert von medias am 08.08.2018 18:50:59, insgesamt 1-mal geändert.
Re: Was bedeutet ln -1 in einem script?
Das wird wohl ein Tippfehler sein. Mit ls statt ln ergibt die Sache Sinn.
Re: Was bedeutet ln -1 in einem script?
Sehe ich auch so.hikaru hat geschrieben:08.08.2018 11:17:23Das wird wohl ein Tippfehler sein. Mit ls statt ln ergibt die Sache Sinn.
In Scripten kann man sich das `-1' zudem sparen, weil ls(1), wenn die Ausgabe kein Terminal ist, sich automatisch wie mit `-1' verhaelt.
Btw: Eigentlich braucht man dieses `-1' gar nicht, weil man es immer durch `ls | cat' ersetzen kann. Trotzdem es nicht noetig ist und nur in BSD zu finden war, ist es in POSIX aufgenommen worden: http://pubs.opengroup.org/onlinepubs/96 ... es/ls.html Das wundert mich etwas, denn normalerweise sind es gerade diese Faelle, die bewusst aus POSIX ausgespart worden sind.
Use ed once in a while!
Re: Was bedeutet ln -1 in einem script?
Man kann sich in fast allen Fällen auch das 'ls' sparen, denn dafür hat uns sh/bash die Globs gegeben:Meillo hat geschrieben:08.08.2018 12:05:23In Scripten kann man sich das `-1' zudem sparen, weil ls(1), wenn die Ausgabe kein Terminal ist, sich automatisch wie mit `-1' verhaelt.
Code: Alles auswählen
for i in *; do ...
-
- Beiträge: 827
- Registriert: 26.05.2008 12:04:54
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Nörten-Hardenberg
-
Kontaktdaten:
Re: Was bedeutet ln -1 in einem script?
Damit machst du aber eben das skript wieder von der bash abhängig, was man vermeiden sollte.
Da Debian auch die dash als Standard Shell verwendet, würde ich auf solche Sonderwege verzichten und auch ls verwenden, was dann auch verständlicher beim lesen ist, wenn man Bash Sonderfälle nicht kennt.
Martin
Da Debian auch die dash als Standard Shell verwendet, würde ich auf solche Sonderwege verzichten und auch ls verwenden, was dann auch verständlicher beim lesen ist, wenn man Bash Sonderfälle nicht kennt.
Martin
Es gibt keine if Schleife -> http://www.if-schleife.de/
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever
Ansonsten GPL/GNU/Linux/Debian/Free Software 4 Ever
Re: Was bedeutet ln -1 in einem script?
Erstens sehe ich hier keine bash-Abhängigkeit. Globbing ist im POSIX Standard definiert, undMilbret hat geschrieben:08.08.2018 12:55:37Damit machst du aber eben das skript wieder von der bash abhängig, was man vermeiden sollte.
Code: Alles auswählen
for i in *; do
printf "Datei: $i\n"
done
Und zweitens sehe ich nicht, warum man bash-Abhängigkeiten vermeiden sollte. Auch wenn in Debian die Standard-Systemshell dash ist, kann man ja "#!/bin/bash" in die erste Zeile schreiben. Aber das hat in diesem Thread nichts zu suchen, finde ich.
Re: Was bedeutet ln -1 in einem script?
… und was -1 in Kontext des Einzeilers oben bedeutet (auch gerne mit ls statt ln), weiß medias immer noch nicht …
Edit: doch, im Link ist’s zu lesen. Sry
Edit: doch, im Link ist’s zu lesen. Sry
Re: Was bedeutet ln -1 in einem script?
Aeh, ja. Das ist natuerlich nochmal besser.owl102 hat geschrieben:08.08.2018 12:37:26Man kann sich in fast allen Fällen auch das 'ls' sparen, denn dafür hat uns sh/bash die Globs gegeben:Meillo hat geschrieben:08.08.2018 12:05:23In Scripten kann man sich das `-1' zudem sparen, weil ls(1), wenn die Ausgabe kein Terminal ist, sich automatisch wie mit `-1' verhaelt.Siehe auch: https://mywiki.wooledge.org/ParsingLs#E ... with_filesCode: Alles auswählen
for i in *; do ...
Use ed once in a while!
Re: Was bedeutet ln -1 in einem script?
Alles klar, danke für die Infos.
Re: (gelöst) Was bedeutet ln -1 in einem script?
Nicht ganz, falls das "*" nicht expandiert wird mangels gefundener Objekte,owl102 hat geschrieben: Man kann sich in fast allen Fällen auch das 'ls' sparen, denn dafür hat uns sh/bash die Globs gegeben:
for i in *; do ...
wird i zu "*", was unerwartete Ergebnisse bringen kann.
'ls -1' besteht in dem Sinne gleichzeitig aus einem Test.
Für "*" spricht hingegen, daß ein Leerzeichen-Name korrekt übergeben wird.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: (gelöst) Was bedeutet ln -1 in einem script?
Das kann man aber behandeln, und in dem Link von mir wird dies auf zwei verschiedene Arten exemplarisch getan. (Wobei die eine der beiden Methoden nur mit der bash funktioniert.)rendegast hat geschrieben:08.08.2018 19:47:13Nicht ganz, falls das "*" nicht expandiert wird mangels gefundener Objekte,
wird i zu "*", was unerwartete Ergebnisse bringen kann.