Ich versuche, eine Fehlerberichterstattung mit einer Trap zu erstellen, um eine Funktion für alle Fehler aufzurufen: Trap "_func" ERR Ist es möglich zu erfahren, von welcher Leitung das ERR-Signal gesendet wurde? Die Muschel ist bash. In diesem Fall kann ich lesen und melden, welcher Befehl verwendet wurde, und einige Aktionen …
Ich schreibe ein Shell-Skript für Linux und verwende Bash, um jede Videodatei in ein MP4-Format zu übersetzen. Dafür verwende ich avconvmit libvorbisfür Audio. In meinem Skript habe ich eine Frage an den Benutzer: read -p "- Audio Quality [scale from -2 to 10] ? " if [ -n "$REPLY" ] …
Ich versuche so etwas zu machen: case $level in 3) echo "Level Three" 2) echo "Level Two" 1) echo "Level one" ;; esac wo, wenn $ level = 3, würde es ausgeben Level Three Level Two Level One Wenn $ level = 1 ist, wird nur ausgegeben Level One Aber …
Ich versuche, eine ifAnweisung zu schreiben, um zu testen, ob Dateien vorhanden sind, die einem bestimmten Muster entsprechen. Befindet sich eine Textdatei in einem Verzeichnis, sollte ein bestimmtes Skript ausgeführt werden. Mein Code derzeit: if [ -f /*.txt ]; then ./script fi Bitte geben Sie einige Ideen; Ich möchte das …
Ich habe ein Bash-Skript, das eine Katzenausgabe erzeugt, wenn es ein Argument annimmt. Ich habe auch ein anderes Bash-Skript, das das erste Bash-Skript mit einem Argument ausführt, mit dem ich cat-Ausgaben erzeugen möchte. Wie speichere ich die vom ersten Bash-Skript erzeugten cat-Ausgaben in Variablen?
Was ist ein portabler Weg für ein (zsh) Skript, um seinen absoluten Pfad zu bestimmen? Unter Linux verwende ich sowas mypath=$(readlink -f $0) ... aber das ist nicht portabel. (ZB readlinkerkennt darwin das nicht-f Flagge nicht und hat auch keine Entsprechung readlink.) Was ist portabler?
Ich habe ein Skript, an das die Ausgabe weitergeleitet wird |tee scriptnameYYMMDD.txt. Nach jedem Zyklus der for-Schleife, in der die Ausgabe generiert wird, kehre ich den Dateiinhalt um, tac scriptnameYYYYMMDD.txt > /var/www/html/logs/scriptname.txtsodass die Protokollausgabe in einem Browserfenster mit den neuesten Zeilen oben sichtbar ist. Ich werde mehrere Skripte gleichzeitig ausführen …
Ich habe ein ksh-Skript, das sowohl unter Linux als auch unter Solaris funktionieren muss. Ich versuche, die Ausgabe bestimmter Befehle einzufärben. Es funktioniert unter Linux (speziell RHEL6), aber nicht unter Solaris (SunOS 5.10). Befehl unter Linux (die Ausgabe "test" ist richtig rot gefärbt): [amartin@linuxbox:~]$ echo "test" | sed 's,.*,\x1B[31m&\x1B[0m,' test …
Ich habe das nächste Code-Snippet zitiert, das von config.statusgeneriert wurde configure. if test ! -f "$as_myself"; then { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} { (exit 1); exit 1; }; } …
Viele Leute verwenden Oneliners und Skripte, die Code nach dem Vorbild enthalten cat "$MYFILE" | command1 | command2 > "$OUTPUT" Der erste catwird oft als "nutzloser Einsatz von Katze" bezeichnet, da technisch (oft /usr/bin/cat) ein neuer Prozess gestartet werden muss, bei dem dies vermieden werden könnte, wenn der Befehl ausgeführt …
Ich habe dieses Konstrukt häufig in Skripten gesehen und selbst verwendet, aber es stört mich, dass ich es nicht in der Dokumentation zu finden scheint. Beispiel: [ -f file1 ] && [ -f file2 ] && echo "Both files exist." || echo "One or the other file doesn't exist." Dies …
Nach dem Lesen von 24.2. Lokale Variablen Ich dachte, dass das Deklarieren einer Variablen varmit dem Schlüsselwort localbedeutet, dass auf varden Wert nur innerhalb des Codeblocks zugegriffen werden kann, der durch die geschweiften Klammern einer Funktion begrenzt wird. Doch nach dem folgende Beispiel ausgeführt wird , fand ich , dass …
1. Zusammenfassung Ich verstehe nicht, warum ich die E010-Bashate-Regel brauche . 2. Einzelheiten Ich benutze bashate zum Flusen von .shDateien. E010-Regel: tun nicht auf der gleichen Linie wie für for bashate: Richtig: #!/bin/bash for f in bash/*.sh; do sashacommand "$f" done Error: #!/bin/bash for f in bash/*.sh do sashacommand "$f" …
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.