Fragen speziell zu GNUs Bourne Again SHell im Gegensatz zu anderen Bourne / POSIX-Shells. Verwenden Sie bei Fragen zu Unix-Shells im Allgemeinen stattdessen das Tag / shell.
Ich versuche, den folgenden Code auszuführen, aber wenn ich versuche, meine Funktion in der if-Anweisung zu verwenden, wird der -bash: [: too many argumentsFehler angezeigt. Warum passiert es? Vielen Dank im Voraus! notContainsElement () { local e match="$1" shift for e; do [[ "$e" == "$match" ]] && return 1; …
Ich verwende derzeit eine Kombination aus geschweiften Klammern und Globing, um mehrere Dateien gleichzeitig in vlc abzuspielen: vlc K20-{06,07,08,09,10,11,12,13,14,15,16,17}* Aber die Zahlen sind immer in voller Reihenfolge, gibt es eine Möglichkeit, es irgendwie ein bisschen einfacher zu spezifizieren, vielleicht so etwas vlc K20-{06-17}* ? Vielleicht seqirgendwie benutzen ? ich kann …
Ich versuche, ein zufälliges nBuchstabenwort zu drucken , das ich nüber die Befehlszeile selbst eingebe, aber aus irgendeinem Grund gibt mir mein Skript jedes Mal die gleiche Antwort, wenn ich den gleichen Wert für verwende n. #!/bin/bash num=$1 egrep "^.{$num}$" /usr/share/dict/words | head -n $RANDOM| tail -n 1 Ich rufe …
Ich habe zum Beispiel eine Zeichenfolge "Icecream123 AirplaneBCD CompanyTL1 ComputerYU1" Angenommen, ich weiß, dass meine Zeichenfolge mit Sicherheit den Teilstring IceCream enthält, aber ich weiß nicht, was darauf folgt. Es könnte 123 sein wie in meinem Beispiel oder es könnte etwas anderes sein. Während ich mit grep feststellen kann, ob …
Wenn ich diesen Befehl ausführe, funktioniert es: $ find . -inum 888696 -exec ls '{}' \; Conversation.pst Outlook Data File Outlook Data File.sbd Trash Unsent Messages Inbox.pst Outlook Data File.msf Sent.pst Trash.msf Unsent Messages.msf Allerdings Beim Austausch lsmit cdihm funktioniert nicht funktioniert: $ find . -inum 888696 -exec cd '{}' …
Ich muss eine whileSchleife erstellen dmesg, die einen bestimmten Prozess abbricht, wenn sie einen Wert zurückgibt. Hier ist was ich habe. #!/bin/bash while [ 1 ]; do BUG=$(dmesg | grep "BUG: workqueue lockup" &> /dev/null) if [ ! -z "$BUG" ]; then killall someprocessname else break fi done Ich weiß …
In Bash eine Befehlsverknüpfung echo test > actual.txt ersetzt den Inhalt der aufgerufenen Datei actual.txtdurch "test" und erstellt die Datei, falls sie nicht vorhanden ist. Wenn die Datei jedoch vorhanden ist, öffnet bash sie einfach, schneidet sie ab und schreibt den neuen Inhalt in die Datei. Insbesondere schlägt der Umleitungsbefehl …
Ich möchte alle Dateien in einem Ordner zur Liste genannt , foldernamedass die Erweiterung hat test, atestoder btest. Mein unmittelbarer Gedanke war zu rennen ls ./foldername/*.{a,b,}test Dies funktioniert einwandfrei, es sei denn, die Erweiterung enthält nichts atest. In diesem Fall wird der Fehler angezeigt zsh: no matches found: ./foldername/*.atest. Kann …
Laufen bash -c 'bash -c "echo test1; exit 1;" &> /tmp/x; buildresult=$?; tail -n 100 /tmp/x; exit $buildresult;' führt dazu, test1dass auf der Konsole gedruckt wird und echo $?gedruckt wird, 1was meines Erachtens korrekt ist, da der Befehl mit dem [b/d]ash -czurückkehren sollte, was das Innere zurückgegeben hat, während dash …
Ich habe verwendet $((1 + RANDOM % 1000)), um eine Zufallszahl zu generieren. Ist es möglich, etwas Ähnliches zu tun, aber einen Samen bereitzustellen? Damit bei gleichem Startwert immer dieselbe Zufallszahl ausgegeben wird?
Ich habe ein Beispielskript geschrieben, um die Zeichenfolge zu teilen, aber es funktioniert nicht wie erwartet #!/bin/bash IN="One-XX-X-17.0.0" IFS='-' read -r -a ADDR <<< "$IN" for i in "${ADDR[@]}"; do echo "Element:$i" done #split 17.0.0 into NUM IFS='.' read -a array <<<${ADDR[3]}; for element in "${array[@]}" do echo "Num:$element" done …
Angenommen, ich habe eine Liste mit Pfadnamen von Dateien, die in einem Array gespeichert sind filearray=("dir1/0010.pdf" "dir2/0003.pdf" "dir3/0040.pdf" ) Ich möchte die Elemente im Array nach den Basisnamen der Dateinamen in numerischer Reihenfolge sortieren sortedfilearray=("dir2/0003.pdf" "dir1/0010.pdf" "dir3/0040.pdf") Wie kann ich das machen? Ich kann nur ihre Basisnamen-Teile sortieren: basenames=() for …
Ich möchte ein Skript schreiben, um auf mehrere Arrays aus einem anderen Array zu verweisen, das die Variablennamen dieses Arrays enthält. Hier ist mein Code bisher: #!/bin/bash array1=('array1string1' 'array1string2') array2=('array2string1' 'array2string2') array_names=('array1' 'array2') for a in ${array_names[@]} do for b in ${a[@]} do echo $b done done Ich möchte, dass …
Beim Lesen von Tutorials zum Batch-Umbenennen von Dateien in Bash und beim Verwenden des sortBefehls zum Sortieren von Dateiinhalten konnte ich nicht herausfinden, wie beide kombiniert werden können. Ich habe ein Verzeichnis, dessen Inhalt nach Tags im Dateinamen sortiert ist, ähnlich wie das Programm TagSpaces die Dinge handhabt. Ich füge …
Für eine Aufgabe werde ich gebeten, geschickt eine Bash-Funktion zu schreiben, die die gleiche Grundfunktionalität wie die Funktion cp(Kopie) hat. Es muss nur eine Datei in eine andere kopiert werden, sodass nicht mehrere Dateien in ein neues Verzeichnis kopiert werden. Da ich neu in der Bash-Sprache bin, kann ich nicht …
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.