{"id":2398,"date":"2025-02-19T08:00:00","date_gmt":"2025-02-19T07:00:00","guid":{"rendered":"https:\/\/www.fuhselab.de\/?p=2398"},"modified":"2025-02-28T07:23:48","modified_gmt":"2025-02-28T06:23:48","slug":"shellskripte-2","status":"publish","type":"post","link":"https:\/\/www.fuhselab.de\/index.php\/2025\/02\/19\/shellskripte-2\/","title":{"rendered":"Shellskripte 2"},"content":{"rendered":"\n<p><br>Weiter geht es mit Shellskripten und der Programmierung\u2026<\/p>\n\n\n\n<!--more-->\n\n\n\n<p><strong>Variablen:<\/strong><\/p>\n\n\n\n<p>Eine Variable ist eine Art Platzhalter f\u00fcr einen Wert. Der Variablenname beginnt dabei entweder mit einem Buchstaben oder einem Unterstrich. Shell Variablen m\u00fcssen auch nicht deklariert werden, sondern werden einfach mit einem Wert versehen und existieren dann einfach\u2026 Der Grundaufbau sieht dabei so aus:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>name=Hans<\/li>\n<\/ul>\n\n\n\n<p>Variablenname, Zuweisungszeichen\/Gleichheitszeichen und Wert (hier Hans) werden also ohne Leerschritte geschrieben.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>name=\u201cHans Mustermann\u201c<\/li>\n<\/ul>\n\n\n\n<p>Die Anf\u00fchrungszeichen kommen zum Einsatz, wenn der Wert aus mehreren W\u00f6rtern und oder Zeichen bestehen soll und im Wert der Variable Leerzeichen vorkommen.<\/p>\n\n\n\n<p><strong>Variable erstellen und mit echo augeben:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>name=Hans<\/li>\n\n\n\n<li>echo $name<\/li>\n<\/ul>\n\n\n\n<p>Mit dem ersten Befehl wird der Variable \u201cname\u201c der Wert \u201cHans\u201c zugewiesen. Mit dem zweiten Befehl wird per echo-Befehl der Inhalt der Variable ausgegeben. Nachfolgend das ganze mal mit dem Backslash als Maskierungszeichen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>echo Der Wert der Variable \\$name ist $name<\/li>\n<\/ul>\n\n\n\n<p><strong>Die Sache mit den Anf\u00fchrungszeichen:<\/strong><\/p>\n\n\n\n<p>Die einfachen Anf\u00fchrungszeichen dienen auch als Maskierungszeichen.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>echo Der Wert der Variable \u2018$name\u2018 ist $name<\/li>\n<\/ul>\n\n\n\n<p>Auf der Computertastatur nutze ich die Anf\u00fchrungszeichen die sich ihren Platz mit der Raute teilen.<\/p>\n\n\n\n<p><strong>Pfadangaben mit Anf\u00fchrungszeichen:<\/strong><\/p>\n\n\n\n<p>Abschlie\u00dfend noch ein Praxisbeispiel f\u00fcr Pfadangaben\u2026<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>mkdir &#8222;Mein Tagebuch&#8220;<\/li>\n\n\n\n<li>d=&#8220;Mein Tagebuch&#8220;<\/li>\n\n\n\n<li>cd &#8222;$d&#8220;<\/li>\n<\/ul>\n\n\n\n<p>Mit dem ersten Befehl wird ein Ordner angelegt. Mit dem zweiten Befehl wird einer Variablen mit dem Namen \u201cd\u201c der Wert \u201cMein Tagebuch\u201c erstellt. Mit dem dritten Befehl \u2013 mit Anf\u00fchrungszeichen \u2013 wird nun der Wechsel in den Ordner vollzogen.<\/p>\n\n\n\n<p><strong>Umgebungsvariablen und Prozessumgebung:<\/strong><\/p>\n\n\n\n<p>Mit dem Kommando (Terminalbefehl) export (oder env) werden alle Umgebungsvariablen angezeigt\u2026 Normale Variablen sind nur innerhalb der Shell sichtbar, in der sie definiert wurden. Damit Variablen auch in Kindprozessen zu sehen sind, m\u00fcssen sie in die Prozessumgebung exportiert werden\u2026 Das Grundprinzip sieht so aus:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>farbe=blau<\/li>\n\n\n\n<li>sh<\/li>\n\n\n\n<li>echo $farbe (geht nicht in der Sub-Shell)<\/li>\n\n\n\n<li>exit<\/li>\n\n\n\n<li>export farbe (exportiert die Variable in die Umgebung)<\/li>\n\n\n\n<li>sh<\/li>\n\n\n\n<li>echo $farbe<\/li>\n<\/ul>\n\n\n\n<p>Wer hat schon Kopfschmerzen? OK dann geht es im n\u00e4chsten Artikel weiter\u2026<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Weiter geht es mit Shellskripten und der Programmierung\u2026<\/p>\n","protected":false},"author":1,"featured_media":791,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[21],"class_list":["post-2398","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","tag-linux-gruppe-peine"],"_links":{"self":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts\/2398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/comments?post=2398"}],"version-history":[{"count":2,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts\/2398\/revisions"}],"predecessor-version":[{"id":2501,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/posts\/2398\/revisions\/2501"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/media\/791"}],"wp:attachment":[{"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/media?parent=2398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/categories?post=2398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fuhselab.de\/index.php\/wp-json\/wp\/v2\/tags?post=2398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}