Hallo Ich möchte gern mein Skript erweitern. Es müssen Tabellen angelegt werden. Da ich nicht vorher weiß wie viele also eine kleine If Anweisung. Wie komme ich in Bash aber wieder an den Anfang? Ich habe mal ein kleines Struktogramm gemacht zum Verständnis. Ein Link würde auch reichen oder eine kleine Erklärung.
Schleife anlegen
Anmeldungsdatum: Beiträge: 43 |
|
||||
Anmeldungsdatum: Beiträge: 180 |
In welcher Sprache soll das ganze denn sein? Als Shell-Script? |
||||
Supporter, Wikiteam
Anmeldungsdatum: Beiträge: 8627 Wohnort: Münster |
bash kennt kein while true do # «Frage: Soll Tabelle angelegt werden?» # «Wenn Antwort = nein, dann:» break # «Ende Wenn» # … done Die hier in den Kommentaren umschriebenen Programmteile musst Du natürlich gemäß Deinen Anforderungen noch erstellen. |
||||
Anmeldungsdatum: Beiträge: 4391 Wohnort: Göttingen |
So etwas macht das exemplarisch. Das zweite echo musst Du dann einfach druch die Anweisung für das Anlegen der Tabelle ersetzen. #!/bin/bash while true; do echo "Bitte Tabllennamen eingeben. Bei leerer Eingabe endet das Skript." read table; test -z $table && break; echo "Lege Tabelle $table an"; done |
||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 43 |
Ersteinmal vielen Dank für die schnelle Hilfe. Habe gleich mal losgelegt. Der Anfang funktioniert schon mal...
|
||||
Projektleitung
Anmeldungsdatum: Beiträge: 12832 |
|||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 43 |
Das ist ein guter Einwand. Habe schon so viel Meinungen gehört das ich da aufgegeben habe. Es macht eh immer jeder wie er will. Hast du denn eine Vorgabe die Gesetz ist. Noch eine andere Frage die mir gleich einfällt. Wie bekomme ich es hin das auf dem Terminal steht "bitte geben sie was ein" und dann kann man genau dahinter etwas eingeben, nicht wie eigentlich darunter? Kleine Frage nebenbei. |
||||
Anmeldungsdatum: Beiträge: 4391 Wohnort: Göttingen |
Da hilft ein man echo |
||||
Anmeldungsdatum: Beiträge: 17552 Wohnort: Berlin |
Das Gesetz ist einfach: Bedingte Anweisungen werden eingerückt, ob if, do, for, case, ... . Was sequentiell auf dem gleichen Level spielt steht auch in der gleichen Spalte.
Wichtig ist es, jede Kreativität stecken zu lassen. Die Leute sollen Deinen Code reibungslos lesen können, weil keine Überraschung im Stil steckt. Wenn Du überraschen willst, schreib exzellenten Code mit erstklassigen Kommentaren, Fehlerbehandlung, Nutzerfreundlichkeit, Ergonomie.
Hast Du das Beispiel mit
noch nicht ausprobiert? |
||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 43 |
Guten morgen. Danke für die schnellen Antworten. Zu der Sache mit dem Schreiben... Diese Regeln sind mir natürlich bekannt. Ich wende sie auch zum großen Teil an. Finde es ja selbst so übersichtlicher. Möchte auch niemanden zu nahe treten. Es gibt aber eben auch viele Stimmen die meinen anders wäre besser. Es müsste halt meiner Meinung nach mal ein einheitliches Regelwerk her. So wie eine DIN - Norm für IT oder so. 😮 Das mit dem read und echo habe ich mir angesehen und gefunden was ich brauche. Dafür ein Danke das läuft prima. |
||||
Projektleitung
Anmeldungsdatum: Beiträge: 12832 |
Zusätzlich würde ich noch sagen: Einrückungen auf jeder Eben haben denselben Abstand, egal ob das ein Tab, zwei oder vier Leerzeichen sind.
👍
Das funktioniert in der
Nein. Viel wichtiger ist, dass Du es innerhalb einer Datei (und am besten auch einem Projekt) einheitlich machst. Leser können sich da recht schnell zwischen verschiedenen Quellen umstellen, aber wenn es in einer Datei uneinheitlich ist, dann ist es Murks. |
||||
(Themenstarter)
Anmeldungsdatum: Beiträge: 43 |
Dann werde ich mich mal hinsetzen und das Skript fertig machen mit den Regeln die ihr hier aufgeführt habt. Man soll ja so lernen wie es richtig ist sonst macht man es dann immer falsch . Interessiert euch das Ergebnis? |
||||
Anmeldungsdatum: Beiträge: 17552 Wohnort: Berlin |
Es gibt aber eben auch viele Stimmen die meinen anders wäre besser. Welche Stimmen denn? Kai aus dem Javascriptforum?
Gibt es. Aber für unterschiedliche Sprachen eben unterschiedliche. Eine unterschiedliche Sprache ist beispielsweise Python. ☺ Sonst gibt es zwei große Lager, die sich nur in Details der öffnenden geschweiften Klammer unterscheiden, nämlich das K&R-Lager vs. das Lager Allman-Style. Andere bekannte Standards sind Mischformen und Varianten davon. Orthogonal dazu gibt es die richtige Einrückung mit Tab und einer Sprungweite auf das nächste modulo-8-gleich Null und häretische Bewegungen, die 4 oder 2 statt 8 wählen. So eine Einrückung:
verteidigt niemand, weil sie nicht zu verteidigen ist. Niemand wollte seinen Namen mit etwas derartigem beschmutzen. Stell Dir vor Deine Mutter wird in der Fußgängerzone von Nachbarn auf sowas angesprochen, ob das wirklich ihr Kind geschrieben hat! In Asien stürzt man sich wegen geringerem in scharfe Klingen. |