Lehrer Nussbaumer - Linux bash-Programmierung

Grundlagen

  1. Einführung
  2. Variable
  3. Operatoren
  4. Ein- und Ausgabe

Datenstrukturen

Programmstrukturen 

Beispiele


-----------------
letzte Änderung:
09 December 2021
-----------------
Lehrer Nussbaumers Seite

... in Arbeit ...

Einführung

Wir verwenden zunächst einfach Befehle, die auch "von Hand aus" auf der Kommandozeile eingegeben werden könnten. Im Beispiel wollen wir einfach einen Bildbetrachter aufrufen. Mit dem Editor öffnen wir die Datei "view" und schreiben einen einzigen Befehl (den Aufruf des Programmes) hinein:

kview

Wir rufen unser erstes Skript auf:

alfred@newbie:~/bash/beispiele > ./view
bash: ./view: Keine Berechtigung

Was ist hier schiefgelaufen? Ein Blick auf die Eigenschaften der Datei gibt Auskunft:

alfred@newbie:~/bash/beispiele > ls -l
insgesamt 4
-rw-r--r--    1 alfred   users           6 Feb  5 00:10 view

Die Berechtigungen stimmen nicht! Wir verpassen der Datei Ausführbarkeitsrechte (und weil wir großzügig sind) für alle:

alfred@newbie:~/bash/beispiele > chmod a+x view

Im Allgemeinen sollen unsere Scripts mehr können, als nur bestehende Programme aufrufen (das hätten wir gleich erledigen können ;-). Dann muss die Shell als Befehlsinterpreter geladen werden:

#!/bin/bash
echo "Bildbetrachter wird geladen"
kview

In diesem Fall wird vor dem Start des Bildbetrachters noch eine "Systemmeldung" ausgegeben:

alfred@newbie:~/bash/beispiele > ./view
Bildbetrachter wird geladen

bash oder sh?

Shell-Programme enthalten häufig die Dateinamensergänzung ".sh". Die erste Zeile in Shell-Programmen lautet entweder

#!/bin/bash
oder
#!/bin/sh

Was ist korrekt?

Wir überzeugen uns durch einen "Blick" in das Verzeichnis /bin:

alfred@newbie:/bin > ls bash -l
-rwxr-xr-x    1 root     root       432268 Jan 19  2001 bash
alfred@newbie:/bin > ls sh -l
lrwxrwxrwx    1 root     root            4 Mär 17  2001 sh -> bash
alfred@newbie:/bin >
Alles klar ;-)


© Alfred Nussbaumer, Weblog "MiniNuss"