Lehrer Nussbaumer - Linux bash-Programmierung |
---|
GrundlagenDatenstrukturenProgrammstrukturenBeispiele----------------- letzte Änderung: 09 December 2021 ----------------- Lehrer Nussbaumers Seite ... in Arbeit ... |
EinführungWir 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/bashoder #!/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 ;-) |