ubuntuusers.de

Shebang

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Shebang_für_Shellskripte.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13193

Heinrich Schwietering schrieb:

Zum Punkt "Fehlermeldung": Wenn es keine typischen Fehlermeldungen gibt, kann man sie natürlich nicht einbauen. Das wäre damit ja geklärt.

Wenn es das nicht gibt, wissen wir denn dann, für welche verbreiteten Probleme der Artikel Lösungshilfe geben will? Wenn wir das nicht wissen, dann erreichen wir die Intention von user unknown nicht, soweit ich ihn verstanden habe. Dann können wir es entweder lassen oder haben einen anderen Artikel, der grundsätzlich das Funktionieren von Shebang und exec erklärt.

Ciao

robert

user_unknown

(Themenstarter)
Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

Heinrich Schwietering schrieb:

Hi!

Frohet Neuet! (wie der Berliner zu sagen pflegt...).

Danke gleichfalls.

@ user unknown: Zu deinem Beitrag: Die Unterstreichung ist die Formatierung, die im Wiki für Hervorhebungen verwendet wird, sie muss keineswegs unbedingt verwendet werden. Im relevanten Teil von Wiki/Syntax steht die Aufforderung, sie eher sparsam zu verwenden.

Ich sehe schon, wie Du hier alles unterstreichst, und auch im Wiki zu Unterstreichungen neigst, wodurch der Leser den Eindruck bekommt, der Text richte sich an extrem lernbehinderte Leser, die ein nicht nicht erkennen, auch wenn es überhaupt nicht überraschend in einem Satz vorkommt. Auf mich wirkt das lächerlich, und ich bin da sicher nicht der Einzige - wirklich lernbehinderte Menschen haben aber vielleicht eigene Methoden, die Bedeutung eines simplen Satzes zu verstehen.

Die Verwendung von zwei Boxen ist imho nicht "ausufernd"; und sie sollen den Lesefluss unterbrechen, weil dort etwas Wichtiges drinsteht.

1)

  • a) Ist es für einen solch kurzen Text mit 2 überflüssigen Boxen schon extrem ausufernd,

  • b) kommt hinzu, dass da meistens eine Baustellenbox noch dazukommt

  • c) läßt dann die " .... Version x und y gültig ... " und eine

  • d) " ... seit ... ungetestet" Box dazu, macht zusammen 5.

2) ein Widerspruch in sich eine Expertenbox, die der Anfänger ignorieren soll, aus der Taufe zu heben, um dann zu behaupten dass darin vermerkte sei Wichtig

Du solltest nochmal bei den Forenregeln - Zitate nachlesen, dann würdest du feststellen, dass hier in Zitaten nichts geändert werden soll; das gibt höchstens Ärger mit den Mods. Kommasetzung beherrsche ich imho ganz gut; der Versuch des Lächerlichmachens ist wenig zielführend (OT: "Sophismus" ist tatsächlich der falsche Begriff, es geht imho eher um Rabulistik).

Wenn Du die Kommaorgie meinst - das ist nicht meine Schuld, und hättest Du, wenn Du versucht hättest meinen Text zu zitieren, leicht selbst feststellen können. Die Unterstellung dass dies ein Versuch meinerseits sei, Dich lächerlich zu machen, kann ich also nonchalant zerstreuen, wie ich hoffe.

Natürlich geht die Grammatik nicht baden: da ich genau diese Verknüpfung /bin/sh meine, (über andere spekuliere ich nicht weiter), schreibe ich das auch so (rein grammatikalisch betrachtet wäre beides möglich).

Der Aufruf einer Shell über die symbolische Verknüpfung /bin/sh (mittels shebang #!/bin/sh oder direkt) führt zur Verwendung einer POSIX-kompatiblen Version 🇬🇧 der aufgerufenen Shell. Insofern kann es auch bei theoretisch möglichem Aufruf der bash über diesen Verknüpfung zu Fehlern kommen, da ggf. vorhandenen Funktionen der bash nicht verwendet werden können, weil sie nicht posix-konform sind. Näheres in der Manpage zur bash.

Die Grammatik ging bei "bei Aufruf über diesen Verknüpfung" baden - und dass beim schwarzen Ritter der zu vermeidenden Schachtelsätze!

Ohne die x-fache Wiederholung der Konjunktive sähe der Absatz so aus:

Der Aufruf einer Shell über die symbolische Verknüpfung /bin/sh (mittels shebang #!/bin/sh oder direkt) führt zur Verwendung einer POSIX-kompatiblen Version 🇬🇧 der aufgerufenen Shell. Insofern kann es bei Aufruf der bash über diese Verknüpfung zu Fehlern kommen, wenn bash-Funktionen aufgerufen werden, die nicht POSIX-konform sind.

Was soll dagegen ein "theoretisch möglicher Aufruf" der bash sein, auch in Kontrast zu einem bloß "theoretischen Aufruf" oder einem "möglichen Aufruf"? Oder zu einem "praktisch möglichen Aufruf"? Dann kann man auch Karussell fahren, beim Wikilesen.

Die symbolische Verknüpfung /bin/sh/ führt unter Ubuntu seit Version 8.04 Hardy Heron stets auf /bin/dash.

Wie gesagt ist das stets schlicht überflüssig, und m.E. ein Terminus, der zu Unrecht in Mode gekommen ist, und von manchen Forenten inflationär und geistlos benutzt wird. Gemeint ist schlicht:

Die symbolische Verknüpfung /bin/sh/ führt unter Ubuntu seit Version 8.04 Hardy Heron auf /bin/dash.

Das "stets" liefert hier keinen Mehrwert.

Aber weiter im Text:

Unter anderen Distributionen kann das Verknüpfungsziel eine andere Shell sein, insofern sind die hier gemachten Aussagen ggf. nicht direkt übertragbar!

Wenn das Verknüpfungsziel eine andere Shell ist, dann sind die Aussagen entweder

  • ggf. nicht übertragbar oder

  • nicht direkt übertragbar aber viel besser doch - ein "kann" hatten wir ja schon

  • "dann sind die hier gemachten Aussagen nicht übertragbar"

"ggf. nicht direkt übertragbar" ist wieder so ein aufgeblähtes Doppelmoppeln, welches höchstens jmd. versteht, der es zuvor schon verstanden hat.

Die Funktionen, die die Bash grundsätzlich hat, sind mit dem Aufruf über den symbolischer Link /bin/sh, wie du ja weißt, z.T. nicht gegeben, wenn sie nicht posix-konform sind, in sofern sind ggf. vorhandene Funktionen so tatsächlich nicht nutzbar. Wenn ich dich richtig verstanden habe, gehen etliche Fehler mit der Verwendung von #!/bin/sh als shebang-Zeile darauf zurück, dass eben nicht die bash aufgerufen wird, oder, selbst wenn das Verknüpfungsziel /bin/bash wäre, damit nicht alle Funktionen der bash verwendet werden könnten. Mit Konjunktiven drücke ich diese Eventualitäten aus; es kann ggf. zu Fehlern kommen, es muss aber nicht eintreten (nochmal die Einschränkung: wenn posix-konforme Funktionen verwendet werden sollten).

Nur nebenbei: 'symbolischen Link'.

Aber das Problem ist ein User, der das alles noch nicht weiß, und der den Text verstehen soll - der muss das alles erraten, um es zu verstehen, dabei soll doch der Text ihm erst verständlich machen, dass es Funktionen gibt, die die Bash hat, die aber nicht benutzt werden, wenn diese als /bin/sh aufgerufen wird.

Wenn er aber liest, dass die Bash manche Funktionen grundsätzlich hat - also vielleicht täglich ausser Sonntags? - hat sie zum Teil nicht? Wie dass? Also manche der Funktionen, die sie grundsätzlich hat, hat sie nicht - die anderen aber doch? Und die die doch vorhanden sind, sind ggf. nicht nutzbar? Das versteht kein Mensch!

wenn posix-konforme Funktionen verwendet werden sollten

Ja, nein, umgekehrt! Wenn POSIX-konforme (Portable Operating System Interface) Funktionen verwendet werden, dann kann es kein Problem geben.

Dass es dir unverständlich ist, was ich dort geschrieben habe, erscheint mir wenig glaubwürdig. Deine Mutmaßungen über meine Motivation hingegen sind rein spekulativ, zudem schlicht falsch, und in diesem Zusammenhang völlig irrelevant.

Ich suche halt eine plausible Erklärung, wieso Du meinen Wikibeitrag verstümmeln willst. 😉 Eine bessere Erklärung suche ich noch. Womöglich findest Du selbst Deine Texte ja verständlich, und die Struktur einleuchtender.

Aber der Inhalt der Boxen sind ja, wie du hoffentlich richtig gelesen hast, Vorschläge. Andere Meinungen haben wir momentan nicht; vielleicht könntest du deine Verbesserungsvorschläge dazu in einem zusammenhängenden Text darstellen?

Steht noch im Wiki.

Inhaltlich habe ich deinem Beitrag keine Verbesserungsvorschläge zu den Boxen entnehmen können, über die Formulierungen und Konjunktive kann man ja reden. Ich weiß jetzt nicht so genau, was du haben möchtest.

Mein letzter Vorschlag, wie er in der Baustelle liegt, ist schon deutlich besser, deshalb habe ich nur zeigen müssen, inwieweit Deine Vorschläge ein Rückschritt sind. Sprachlich, didaktisch und von der Formatierung.

Zum Punkt "Fehlermeldung": Wenn es keine typischen Fehlermeldungen gibt, kann man sie natürlich nicht einbauen. Das wäre damit ja geklärt.

Na immerhin etwas.

Heinrich_Schwietering Team-Icon

Wikiteam
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Wohnort: Bremen

Hi!

@ user unknown Nur damit du dich nicht wunderst: Ich werde diese Diskussion nicht weiterführen; mag jemand anders sich diesen Ergüssen aussetzen.

Viel Erfolg noch mit dem Artikel!

so long
hank

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

ehrlich gesagt habe ich die episch-langen Postings auch nicht im Detail gelesen...

Trotzdem: ich habe ein noch ein paar Minikorrekturen gemacht - würde ausgetauscht, ein paar Sätze umgestellt. Sinn ist IMHO erhalten geblieben, Lesbarkeit besser.

Eine Frage habe ich noch. Zitat aus dem Artikel:

Die Zeit, die man beim Schreiben spart holt die schnellere Startzeit von dash niemals rein

Soll was heißen? Zeit, die man beim Programmieren braucht mit der Startzeit einer Shell zu vergleichen ist doch so wie Äpfel und Birnen. Der wirklich wichtige Hinweis, dass unter Ubuntu /bin/sh/bin/dash ist und das man für eigenen Skripte besser /bin/dash nimmt, steht vorher ja schon im Artikel.

Gruß, noisefloor

Heinrich_Schwietering Team-Icon

Wikiteam
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Wohnort: Bremen

Hi!

Nur zur Info: Habe noch ein paar Präzisierungen eingefügt.

so long
hank

user_unknown

(Themenstarter)
Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

Die Occupy-Shebang-Artikel-Bewegung ist jetzt übrigens selbst dafür zuständig, den Artikel für fertig zu erklären.

user_unknown

(Themenstarter)
Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

Kürzlich wurde ich dafür getadelt, dass ein Artikel, den ich mit Vain überarbeitet habe, nicht ausdrücklich aus der Baustelle entlassen hätte.

Jetzt habe ich diesen Artikel mehrfach entlassen, das Datum ist verstrichen, und die Verantwortung für das Entlassen habe ich auch ausdrücklich abgegeben, weil es nicht mehr mein Artikel ist, und dennoch verrottet er jetzt in der Baustelle.

Heinrich_Schwietering Team-Icon

Wikiteam
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Wohnort: Bremen

Hi!

Heißt das, dass er deiner Meinung nach jetzt, so wie er ist, verschoben werden kann?

so long
hank

user_unknown

(Themenstarter)
Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

Jetzt so zu tun, als ob es an mir hinge; das kann ich nicht nachvollziehen.

Wieso fragst Du nun nochmal?

Dann sage ich ja, er wird wieder nicht freigeschaltet, und wenn ich Wochen später frage, wieso nicht, werde ich dann wieder gefragt, ob ich ihn freischalten würde?

Ich hatte längst gesagt, dass er ins Wiki kann, und habe das nie dementiert - wer also nicht aus eigenen Gründen den Artikel zurückhält - auf mich darf man sich nicht dabei berufen.

Wie hast Du denn den Beitrag vom 12. verstanden?

Heinrich_Schwietering Team-Icon

Wikiteam
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Wohnort: Bremen

Hi!

Wenn alle ihn so wie er ist, für verschiebbar halten, und keine Einwände mehr kommen, ist alles ok, dann verschieben wir ihn.

so long
hank

Heinrich_Schwietering Team-Icon

Wikiteam
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Wohnort: Bremen

Hi!

jetzt im Wiki: Shebang für Shellskripte, und damit alle zufrieden sind shebang.

Auf dass er nützlich sei! Besten Dank an user unknown 😉

Um die Verlinkungen müssen wir uns noch kümmern; außerdem sollte zur Vermeidung von Redundanz der Shebang-Abschnitt Shell/Bash-Skripting-Guide für Anfänger gekürzt und hierher verlinkt werden.

so long
hank

user_unknown

(Themenstarter)
Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

Heinrich Schwietering schrieb:

und damit alle zufrieden sind shebang.

Vielen Dank. Das war mir wichtig.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

warum denn ein Mal groß und ein Mal klein geschrieben? Wäre nicht Shebang richtig?

Gruß, noisefloor

Heinrich_Schwietering Team-Icon

Wikiteam
Avatar von Heinrich_Schwietering

Anmeldungsdatum:
12. November 2005

Beiträge: 11335

Wohnort: Bremen

Hi!

shebang schreibt sich schneller 😉

so long
hank