ubuntuusers.de

Shell/Bash-Skripting-Guide für Anfänger

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Shell/Bash-Skripting-Guide_für_Anfänger.

dAnjou

Avatar von dAnjou

Anmeldungsdatum:
8. Oktober 2007

Beiträge: 872

Wohnort: Berlin

Toll gemacht. Hab's grad mal überflogen und sieht wirklich gut aus. Werde demnächst bestimmt mal genauer reinsehen. 👍

..andre..

Avatar von ..andre..

Anmeldungsdatum:
5. April 2006

Beiträge: 139

Wohnort: Hamburg

Danke sabsirro! 😉 Habs erstmal auch nur überflogen (muss Morgen arbeiten), aber für mich als Anfänger steht schon einiges intressantes drin..

sabsirro

(Themenstarter)
Avatar von sabsirro

Anmeldungsdatum:
20. Februar 2006

Beiträge: 442

Wohnort: Home@Leipzig.de

Hi,

schön, dass es euch gefällt. Wenn ihr etwas findet, was euch aufstößt beim lesen dann schreibt mir bitte. Also z.B. wenn etwas besser erklärt werden müsste, oder so.

Gruß Sab.

march Team-Icon

Avatar von march

Anmeldungsdatum:
12. Juni 2005

Beiträge: 17368

Wohnort: /home/noise

Mit dem Feedback war wohl nichts 😉 Neues Modem neues Glück ☺ Das alte hatte sich verabschiedet... ☹

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

habe noch ein paar Korrekturen an Struktur und Syntax gemacht.

Einen Punkt habe ich noch: bitte alle direkten Anreden ("wir") raus und neutral schreiben ("man).

Inhaltlich sonst sehr gut!

Wenn die wir's weg sind und noch ein Wiki-Mod drüber gelesen hat kann der Artikel ins Wiki. ☺

Gruß, noisefloor

sabsirro

(Themenstarter)
Avatar von sabsirro

Anmeldungsdatum:
20. Februar 2006

Beiträge: 442

Wohnort: Home@Leipzig.de

noisefloor schrieb:

habe noch ein paar Korrekturen an Struktur und Syntax gemacht.

Hm...ich fand die Striche eigentlich toll.

Einen Punkt habe ich noch: bitte alle direkten Anreden ("wir") raus und neutral schreiben ("man).

Krass. Ist mir garnicht aufgefallen, wie viele "Wir" ich so verwendet habe, und eigentlich keine verwenden wollte. ☺ Ansonsten...ist überarbeitet!

Inhaltlich sonst sehr gut!

Danke

Gruß Sab. :wq

Solo0815

Avatar von Solo0815

Anmeldungsdatum:
7. Juni 2006

Beiträge: 402

Wohnort: KC

Ein sehr gelungener Artikel. Ich hab mich schon vorher ein bisschen mit Bash herumgeschlagen, um kleine scripts zu schreiben. Musste alles im Internet nachschlagen, weil manchmal meine Syntax nicht ganz hingehauen hat, deswegen bin ich für einen solchen Guide sehr dankbar. Hier ein paar Dinge, die mir aufgefallen sind:

- Backticks: Hiersollte man noch $(beliebiger_Befehl) erwähnen. Das ist IMO leichter zu lesen.

- "Elif"-Konstrukion: Müssen da zwei eckige Klammern sein? Reicht da nicht eine?

- Case: Evtl. ein Hinweis, dass zwei Strichpunkte die Anweisung beenden.

- For Schleife:

1
2
3
4
5
6
PICS="`ls -A ${INPUTDIR} | grep JPG`"

#Abarbeiten der eingelesenen Bilder mit Hilfe einer For-Schleife
#und dem Tool Imagemagick.

for PIC in "${PICS}"

Hier sollten Anführungszeichen bei der Variable gesetzt werden, wenn die Dateinamen Leerzeichen enthalten. Sonst funktionierts nicht. Außerdem vielleicht noch auf Groß- und Kleinschreibung eingehen. Hier im Script wird z.B. Bild 001.jpg nicht gefunden, weil es kleingeschrieben ist. Führt vielleicht zu weit, aber es sollte irgendwo erwähnt werden. Der User wundert sich dann nur, warum sein Script die Datei nicht verarbeitet 😉

- While Schleife: Bessere Erklärung erforderlich. z.B. so: Eine While-Schleife wird solange ausgeführt, wie die Bedingung zutrifft.

- Menüs mit Dialog Hier solle der Vollständigkeit halber noch Kdialog erwähnt werden

sabsirro

(Themenstarter)
Avatar von sabsirro

Anmeldungsdatum:
20. Februar 2006

Beiträge: 442

Wohnort: Home@Leipzig.de

Solo0815 schrieb:

Ein sehr gelungener Artikel.

Danke

- Backticks: Hiersollte man noch $(beliebiger_Befehl) erwähnen. Das ist IMO leichter zu lesen.

Wurde als Hinweis hinzugefügt.

- "Elif"-Konstrukion: Müssen da zwei eckige Klammern sein? Reicht da nicht eine?

Nein da reicht eine..mach ich aber voll oft so. ☺

- Case: Evtl. ein Hinweis, dass zwei Strichpunkte die Anweisung beenden.

Ist mit aufgenommen worden.

- For Schleife:

1
2
3
4
5
6
PICS="`ls -A ${INPUTDIR} | grep JPG`"

#Abarbeiten der eingelesenen Bilder mit Hilfe einer For-Schleife
#und dem Tool Imagemagick.

for PIC in "${PICS}"

Hier sollten Anführungszeichen bei der Variable gesetzt werden, wenn die Dateinamen Leerzeichen enthalten. Sonst funktionierts nicht. Außerdem vielleicht noch auf Groß- und Kleinschreibung eingehen. Hier im Script wird z.B. Bild 001.jpg nicht gefunden, weil es kleingeschrieben ist. Führt vielleicht zu weit, aber es sollte irgendwo erwähnt werden. Der User wundert sich dann nur, warum sein Script die Datei nicht verarbeitet 😉

Richtig. Ich hab die Option "-i" hinzugefügt was das ganze beheben sollte, und dies kurz erklärt.

- While Schleife: Bessere Erklärung erforderlich. z.B. so: Eine While-Schleife wird solange ausgeführt, wie die Bedingung zutrifft.

Hab ich gemacht. ☺

- Menüs mit Dialog Hier solle der Vollständigkeit halber noch Kdialog erwähnt werden

Ist jetzt auch verlinkt.

Danke für das Feedback.

Gruß Sab.

march Team-Icon

Avatar von march

Anmeldungsdatum:
12. Juni 2005

Beiträge: 17368

Wohnort: /home/noise

Solo0815 schrieb: Ein sehr gelungener Artikel.

Yep ☺

Wenn die wir's weg sind und noch ein Wiki-Mod drüber gelesen hat kann der Artikel ins Wiki. ☺

Erledigt ☺ Danke für den Artikel - hätte es den vorher gegeben hätte ich das Geld für mein Buch sparen können 😉

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

außerdem vielleicht noch auf Groß- und Kleinschreibung eingehen.

Aber bitte nur kurz, es ist ja allgemein bekannt, dass Linux / Unix case-sensetiv ist.

Wobei Gross-Klein wahrscheinlich einer der "Fehler" schlechthin ist, warum Skripte nicht funktioniere. ☺

EDIT: @march - wenn in deinem Buch echt nicht mehr drin steht als im Artikel hättest du dir das Geld wirklich sparen können 😛

Gruß, noisefloor

march Team-Icon

Avatar von march

Anmeldungsdatum:
12. Juni 2005

Beiträge: 17368

Wohnort: /home/noise

EDIT: @march - wenn in deinem Buch echt nicht mehr drin steht als im Artikel hättest du dir das Geld wirklich sparen können 😛

Bin noch nicht durch ☺ Ist ein dicker Schinken 😀

red_trumpet

Anmeldungsdatum:
12. Januar 2009

Beiträge: 234

Wohnort: bei Mainz

Also soweit ich das beurteilen kann, hast du gute Arbeit gemacht sabsirro! Was mir jedoch als Bash-Anfänger fehlt, ist ein Beispiel für eine Bedingung, bei der geprüft wird, ob eine Zahl kleiner oder größer als eine andere ist.

lg red_trumpet

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

steht doch drin: -lt oder -gt. Anstatt einer Zahl kannst du auch eine Variable einsetzen.

Gruß, noisefloor

Milchdrinker

Anmeldungsdatum:
1. September 2007

Beiträge: 9

Wohnort: Bremen

Hi,

in der 5. "Hinweisbox", das ist unter dem Abschnitt "Ausgaben in eine Variable schreiben" sind am Ende des Textes vollgende Zeichen: |}} Das sieht dort so aus: "[...]da sonst der Quellcode leicht unleserlich wird. |}}"

Wie kommt denn das und wie werden die Zeichen weg gemacht?

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

hatte was mit Maskierung und Backticks in Inyoka zu tun - ist gefixt. Bitte nochmal prüfen, ob der Inhalt = die Bash-Syntax in der Hinweis-Box jetzt noch korrekt ist.

Gruß, noisefloor