Zurück zur Skill-Übersicht

Skill-Wissen und Projektmarkt

Shell Script

Freelancer, Projekte, Experten und Wissen rund um Shell Script.

Kategorie

Programmiersprachen

Einordnung

Shell Script Freelancer, Projekte, Experten und Wissen auf jobtic.com

Shell Script gehört zu den gefragtesten Kompetenzen im modernen IT-Projektmarkt. Unternehmen, Recruiter, Projektanbieter und Agenturen suchen kontinuierlich nach qualifizierten IT-Freelancern, Beratern, Entwicklern, Consultants, Administrators, Engineers und Spezialisten mit Erfahrung in Shell Script.

Auf jobtic.com finden Unternehmen und Freelancer eine moderne Plattform für IT-Projekte, Projektvermittlung, Freelancer-Profile, Experten-Suche, Projektakquise und berufliche Vernetzung rund um Shell Script und viele weitere Technologien, Tools, Systeme, Methoden und IT-Bereiche.

Wikipedia

Shellskript

Artikel öffnen

Ein Shellskript oder Shell-Skript ist ein Computerprogramm, das von einer Shell interpretiert und ausgeführt wird. Es ist letztlich eine ausführbare Textdatei, in der all jene Anweisungen verwendet werden können, die ein Benutzer auch in der Befehlszeile der Shell nutzen kann.[1]

Die Shell selbst ist auch eine Programmiersprache, wobei in verschiedenen Shells unterschiedliche Skriptsprachen verwendet werden.

“The shell is actually a programming language: it has variables, loops, decision-making, and so on.”

„Die Shell ist eigentlich eine Programmiersprache: es gibt Variablen, Schleifen, Verzweigungen und so weiter.“

Der Begriff Shellskript wird überwiegend für Unix-Shell-Skripte verwendet und bezieht sich daher vorwiegend auf unixähnliche Systeme, obwohl auch andere Betriebssysteme und Shells ähnliche Skripte nutzen, aber anders bezeichnen.

Ursprung

Shellskripte gehen auf das 1965 geschriebene Programm RUNCOM zurück, das von Louis Pouzin für das Betriebssystem Multics nach dem Vorbild des RUNCOM-Kommandos von CTSS[3] entwickelt wurde. Von ihm stammt auch der Begriff „Shell“, wobei die Weiterentwicklung der Multics-Shell die Fähigkeiten von RUNCOM integrierte.[4]

Die Entwickler von Unix nahmen sich Multics als Vorlage, sodass die ursprüngliche Unix-Shell stark von der Multics-Shell inspiriert war. Auch die Shells späterer Betriebssysteme haben das Konzept der Shellskripte übernommen. Bei Kommandozeileninterpretern von DOS, technisch gesehen ebenfalls Shells (z. B. COMMAND.COM oder 4DOS), werden Skripte als Stapelverarbeitungsdateien oder „Batch-Dateien“ (von englisch batch jobs für Stapelverarbeitung) bezeichnet. Bei der PowerShell von Microsoft heißen sie „PowerShell-Skripte“.[5]

Syntaxen verschiedener Unix-Shells

Da unterschiedliche Unix-Shells, wie z. B. die Bash oder die C-Shell, nicht die gleiche Syntax bzw. Skriptsprache nutzen, ist ein Shellskript in der Regel nur für eine spezifische Shell nutzbar, sofern die eingesetzte Shell nicht die Syntax der anderen Shell versteht.

Anders ist dies bei der in POSIX spezifizierten Syntax. Diese Spezifikation ermöglicht den systemübergreifenden Einsatz eines Skripts und die Interoperabilität mehrerer Systeme. Freilich muss dabei eine POSIX unterstützende Shell eingesetzt werden. Die erste POSIX-Spezifikation fußt auf der Kornshell und berücksichtigt die Eigenheiten der Bourne-Shell. Heute genutzte Shells verwenden meistens eine an POSIX orientierte Syntax. Darüber hinaus haben die meisten heute genutzten Shells einen sogenannten POSIX-Modus, der dazu führt, dass die verwendete Shell die POSIX-Syntax verwendet und nicht ihre native Syntax.[6]

Nachfolgend eine Liste von Unix-Shells, gegliedert nach Syntax-Angabe per Shebang.

Aufbau

In der ersten Zeile eines Shellskripts – auch Header genannt – wird festgelegt, welcher Interpreter das Skript abarbeiten soll. Ein Shellskript beginnt daher mit dem sogenannten Shebang, #!, gefolgt von der Pfadangabe zur Shell, die das Skript interpretieren soll.[7] Wird diese Zeile weggelassen, so wird das Skript von jener Shell interpretiert, die auch neu erstellten Benutzerkonten standardmäßig zugewiesen wird. Welche das konkret ist, hängt vom verwendeten System und dessen Voreinstellung ab. Auch historische Shellskripte verwenden keinen Shebang, da es erst nach der Einführung von UNIX V7 alternative Shells gab.

Das folgende Beispiel zeigt ein einfaches Shellskript in POSIX-Syntax mit einer for-Schleife (loop). Die Anzahl der Durchläufe wird durch die Anzahl an Werten bestimmt; hier drei: 'Alfa Romeo', 'Bentley', 'Citroën'. Zum besseren Verständnis sind alle Werte hier in Anführungszeichen gesetzt, dies ist aber nur bei 'Alfa Romeo' notwendig, da darin ein Leerzeichen vorkommt. Ohne die Anführungszeichen würden dabei zwei Werte interpretiert werden: Alfa und Romeo. Zu beachten ist, dass die Anführungszeichen nicht Teil des Wertes sind.

Bei jedem Durchlauf wird die Variable i neu gefüllt und ihr Inhalt dann in die Standardausgabe geschrieben (stdout, siehe Standard-Datenströme). Beim ersten Durchlauf wird die Variable mit Alfa Romeo gefüllt, beim zweiten mit Bentley, beim dritten mit Citroën. Dann endet die Schleife, da es keinen weiteren Wert gibt.

#!/bin/sh

for i in 'Alfa Romeo' 'Bentley' 'Citroën'; do
    echo $i
done

Das Auslesen der Variable i erfolgt, indem ein Dollarzeichen davor geschrieben wird: $i.

Da das Programm echo schlicht alles ausgibt, was dahinter geschrieben steht (abgesehen von Kommentaren), ist es an dieser Stelle nicht nötig, die Variable in doppelte Anführungszeichen zu setzen. Soll der Wert der Variable aber anderweitig verwendet werden, müssen doppelte Anführungszeichen verwendet werden ("$i"), damit aus Werten wie Alfa Romeo nicht doch noch mehrere Werte werden. Würden dann einfache Anführungszeichen verwendet werden ('$i'), würde nicht der Inhalt der Variable ausgegeben, sondern die Zeichenkette $i unverändert als solche.

Besonderheiten

Operatoren, Funktionen und Leerzeichen

Eine Besonderheit, im Gegensatz zu anderen Programmiersprachen, ist die zwingende Verwendung von Leerzeichen beim Aufruf von Operatoren und Funktionen.[8]

Vergleichsoperatoren des folgenden Beispiels: ==, <, >, <=, >=, !

if (( 1 == 5 )); then
    echo "1 und 5 sind gleich"
else
    echo "1 und 5 sind nicht gleich"
fi

Ausführen eines Shellskripts

Aufruf in der Unix-Shell

Standardmäßig sind neu erstellte Dateien unter Unix nicht ausführbar. Um ein Shellskript ausführen zu können, muss es über die Zugriffsrechte auf „ausführbar“ gesetzt werden. Dies geschieht durch das Programm chmod mit folgendem (oder ähnlichem) Befehl:

chmod +x script.sh

Soll das Shellskript von einem beliebigen Pfad aus ausgeführt werden, muss der komplette Pfad zum Shellskript angegeben werden.

Beispiel: Das Shellskript /usr/local/bin/script.sh soll ausgeführt werden. Es muss folgender Befehl eingegeben werden:

/usr/local/bin/script.sh

Falls das Shellskript im aktuellen Arbeitsverzeichnis (englisch „working directory“) gespeichert ist und dort ausgeführt werden soll, geschieht dies durch Voranstellen des aktuellen Pfads ./:

./script.sh

Ausführungsort

Das Arbeitsverzeichnis des Shellskripts ist der Pfad, von dem aus es aufgerufen wird, also nicht der Ort, wo es sich selbst befindet.

Dateinamenerweiterung

Eine Dateinamenerweiterung für Shellskript-Dateien ist gänzlich unnötig. Sie wird ausschließlich hinzugefügt, um einem Benutzer grob Informationen über den Inhalt der Datei zu geben oder um sie innerhalb einer Desktop-Umgebung einem Programm zum Bearbeiten per Doppelklick zuzuweisen – i. d. Regel einem Texteditor oder einer integrierten Entwicklungsumgebung.

Die Erweiterung kann beispielsweise allgemein.sh lauten. Spezieller sind Erweiterungen wie.bash oder.zsh. Texteditoren und ähnlichen dient die Erweiterung zum Anwenden passender Syntaxhervorhebung.

Inhaltstyp

Der Inhaltstyp (Content Type oder MIME-Type) kann – abhängig vom System – wie folgt lauten:

  • text/x-shellscript
  • text/plain
  • application/x-shellscript
  • application/x-sh[9]

Literatur

  • Brian W. Kernighan: The UNIX Programming Environment. Prentice Hall, 1984, ISBN 0-13-937699-2

Weblinks

Einzelnachweise

  1. a b ShellScript. In: Debian Wiki. Abgerufen am 26. März 2021 (englisch).
  2. Brian W. Kernighan: The UNIX Programming Environment. Prentice Hall, 1984, ISBN 0-13-937699-2, Kapitel 3: Using the Shell, S. 94.
  3. Tom Van Vleck: Glossary of Multics acronyms and terms. In: multicians.org/. Abgerufen am 2. Mai 2026 (englisch): „RUNCOM – BOS facility that allowed the execution of a script of BOS commands, named after the corresponding CTSS facility, created by Louis Pouzin.“
  4. Chantal Lebrument, Fabien Soyez: The Inventions of Louis Pouzin: One of the Fathers of the Internet. Springer Nature, 2019, ISBN 978-3-030-34836-6, S. 24 (englisch, eingeschränkte Vorschau in der Google-Buchsuche): “At the beginning of 1965, he developed the RUNCOM program, an “interpreter” that makes it possible to execute a set of commands contained in a file, and makes parameter substitution possible.”
  5. itworld.com
  6. Bash POSIX Mode. In: Bash Reference Manual. Abgerufen am 26. März 2021.
  7. Bash Shell Scripting. Wikibooks (englisch)
  8. opensource.com
  9. Funktionsreferenz – finfo_buffer. In: PHP-Handbuch. Abgerufen am 26. März 2021.
Wikipedia

Dieser Text basiert auf dem Artikel Shellskript aus der freien Enzyklopädie Wikipedia und steht unter der Lizenz Creative Commons CC-BY-SA 3.0 Unported. Eine Liste der Autoren ist in der Wikipedia verfügbar.

Shell Script auf jobtic.com

Programmiersprachen

Experten finden

jobtic.com verbindet IT-Freiberufler, Selbstständige, Consultants, Projektanbieter, IT-Dienstleister und Unternehmen in einer zentralen IT-Projektbörse für den deutschsprachigen Markt. Die Plattform unterstützt die Suche nach Shell Script Freelancern, Shell Script Projekten, Contracting-Einsätzen, Remote-Projekten, IT-Jobs, Interim-Rollen, technischen Experten und spezialisierten Beratern.

Chancen entdecken

Freelancer profitieren von einer professionellen Präsentation ihrer Expertise im Bereich Shell Script und erhalten Zugriff auf aktuelle Projektangebote, Projektanfragen und neue Karrierechancen im IT-Freelancer-Markt. Durch moderne Such- und Filterfunktionen lassen sich passende Projekte, Auftraggeber, Recruiter und Kontakte schnell identifizieren.

Wissen einordnen

Neben der Projekt- und Expertenplattform bietet jobtic.com umfangreiche Informationen, Hintergründe und Wiki-Inhalte rund um Shell Script. Dazu gehören Grundlagen, Definitionen, Einsatzbereiche, Entwicklungen, Versionen, Methoden, technische Zusammenhänge, Best Practices und aktuelle Marktinformationen zu Shell Script.

Vernetzung stärken

Unsere jobtic-Übersicht zu Shell Script kombiniert Wissensdatenbank, Projektbörse, Freelancer-Verzeichnis, Experten-Suche und Projektmarkt in einer zentralen Plattform. Besucher finden hier sowohl Informationen zu Shell Script als auch passende Freelancer, Berater, Entwickler, Consultants, Administratoren, Support-Spezialisten und aktuelle IT-Projekte mit Bezug zu Shell Script.

Kontakte aufbauen

jobtic.com unterstützt Freelancer und Unternehmen dabei, schneller passende Projekte, Experten und Geschäftskontakte im Bereich Shell Script zu finden. Egal ob Projektakquise, Expertenvermittlung, Freelancer-Suche, Contracting, IT-Consulting oder spezialisierte Projektbesetzung - jobtic.com bietet die passende Plattform für den modernen IT-Projektmarkt.

Zentral vernetzen

Wer nach Shell Script Freelancern, Shell Script Experten, Shell Script Projekten, Shell Script Beratern, Shell Script Consulting, Shell Script Contracting, Shell Script Projektbörse, Shell Script Freelancer-Profilen oder aktuellen Entwicklungen rund um Shell Script sucht, findet auf jobtic.com eine zentrale Anlaufstelle für Wissen, Projekte und professionelle Vernetzung im IT-Umfeld.

Passende Projekte zu Shell Script

Mehr Projekte

Projekte veröffentlichen

Unternehmen können Projekte mit Anforderungen, Laufzeiten, Technologien, Einsatzorten, Remote-Anteilen, Budgetrahmen und Projektbeschreibungen veröffentlichen. Gleichzeitig ermöglicht jobtic.com die gezielte Suche nach verfügbaren Shell Script Spezialisten mit passenden Erfahrungen, Branchenkenntnissen und technischen Fähigkeiten.