Auf der Seite Shell Command Language der POSIX-Spezifikation: Wenn die erste Zeile einer Datei mit Shell-Befehlen mit den Zeichen "#!" Beginnt, werden die Ergebnisse nicht angegeben. Warum ist das Verhalten #!von POSIX nicht spezifiziert? Ich finde es verblüffend, dass etwas so tragbares und weit verbreitetes ein unspezifisches Verhalten haben würde.
Ich habe ein paar Shell-Skripte mit dem folgenden Shebang gesehen: #!/bin/bash -x -v Jedoch man bashnicht erklären , was diese Argumente -xund -vstehen, wenn sie gehören sind bashüberhaupt nicht . Was bedeuten diese -xund -v(und andere mögliche) Argumente?
Angenommen, die Standard-Shell für mein Konto ist zsh, aber ich habe das Terminal geöffnet und bash gestartet und ein Skript mit dem Namen ausgeführt prac002.sh. Mit welchem Shell-Interpreter würde das Skript ausgeführt, zsh oder bash? Betrachten Sie das folgende Beispiel: papagolf@Sierra ~/My Files/My Programs/Learning/Shell % sudo cat /etc/passwd | grep …
Gibt es eine Möglichkeit, den Interpreter, der ein Skript ausführt, dynamisch auszuwählen? Ich habe ein Skript, das auf zwei verschiedenen Systemen ausgeführt wird, und der Interpreter, den ich verwenden möchte, befindet sich an verschiedenen Orten auf den beiden Systemen. Am Ende muss ich die Hashbang-Linie jedes Mal ändern, wenn ich …
Im Allgemeinen enthalten Shell - Skripten den folgenden Kommentar in der ersten Zeile der Skriptdatei: #!/bin/sh. Nach meinen Recherchen wird dies als "Hash Bang" bezeichnet und ist ein herkömmlicher Kommentar. Dieser Kommentar informiert Unix darüber, dass diese Datei von der Bourne-Shell unter dem Verzeichnis ausgeführt wird /bin. Meine Frage beginnt …
Ich habe auf der RosettaCode-Seite die folgende Art von Shebang gefunden: --() { :; }; exec db2 -txf "$0" Es funktioniert für Db2 und ähnlich für Postgres. Ich verstehe jedoch nicht die ganze Zeile. Ich weiß, dass der doppelte Bindestrich ein Kommentar in SQL ist und danach die ausführbare Datei …
Wenn ich dieses Skript ausführe, das ausgeführt werden soll, bis es getötet wird ... # foo.sh while true; do sleep 1; done ... Ich kann es nicht finden mit ps ax: >./foo.sh // In a separate shell: >ps ax | grep foo.sh 21110 pts/3 S+ 0:00 grep --color=auto foo.sh ... …
Ich habe ein Projekt bestehend aus ca. 20 kleinen .shDateien. Ich nenne diese "klein", weil im Allgemeinen keine Datei mehr als 20 Codezeilen enthält. Ich habe einen modularen Ansatz gewählt, da ich der Unix-Philosophie treu bin und es für mich einfacher ist, das Projekt zu pflegen. Am Anfang jeder .shDatei …
Ist gawk normalerweise in / bin oder / usr / bin? Ich würde mitgehen, #!/usr/bin/env gawkaber dann kann ich keine Argumente verwenden. Im Moment benutze ich #!/bin/gawk -f. Das Skript ist sehr lang und enthält viele einfache Anführungszeichen und funktioniert mit stdin. Das GNU Awk-Handbuch enthält Abschnitt 1.1.4 Ausführbare awk-Programme, …
Ich versuche, ein Python-Skript auf einem kopflosen Raspberry PI mit winSCP auszuführen und erhalte die folgende Fehlermeldung: Command '"./areadetect_movie_21.py"' failed with return code 127 and error message /usr/bin/env: python : No such file or directory. Wenn ich versuche, vom Terminal aus zu laufen, erhalte ich: : No such file or …
Warum beginnt die "She-Bang" mit einem #!, wie #!/bin/bash? Ich habe immer akzeptiert, dass dies so gemacht wird, aber gibt es einen Grund dafür? Warum anfangen mit #; Ist das nicht normalerweise ein Kommentar? Oder ist es der Punkt, dass es ein Kommentar sein sollte?
Ich bin auf einige Probleme gestoßen, als ich einige Installationsskripte ausgeführt habe, über die sie sich beschwert haben bad interpreter. Also habe ich ein triviales Beispiel gemacht, aber ich kann nicht herausfinden, wo das Problem liegt, siehe unten. #!/usr/bin/env bash echo "hello" Das Ausführen des obigen Skripts führt zu folgendem …
Warum funktionieren die Shebang-Teile der folgenden elementaren Skripte nicht: $ cat hello.sh #! /bin/sh echo Hello $ ./hello.sh bash: ./hello.sh: /bin/sh^M: bad interpreter: No such file or directory $ cat hello.py #! /usr/bin/env python3 print("Hello") $ ./hello.py : No such file or directory Während das manuelle Aufrufen des Dolmetschers funktioniert: …
Geschlossen . Diese Frage erfordert Details oder Klarheit . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Fügen Sie Details hinzu und klären Sie das Problem, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 2 Jahren . Ich habe ein Shell-Skript, in dem ich einen Shebang hinzufügen möchte. …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.