Als «bash» getaggte Fragen

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.

3
Shell: Funktion mit Parametern in if verwenden
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; …

1
Argumentsequenz generieren, die an ein Programm übergeben werden soll?
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 …
8 bash 

3
Mein Skript erzeugt die gleiche Ausgabe, wenn $ RANDOM verwendet wird
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 …
8 bash  random 




1
Bash: In Datei umleiten, immer neu erstellen
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 …

2
ls ignorieren "keine Übereinstimmungen"
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 …

1
Warum führt das Beenden mit einem gespeicherten Rückkehrcode eines verschachtelten Befehls zu unterschiedlichen Rückkehrcodes in Dash und Bash?
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 …

1
Bash RANDOM mit Samen?
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?
8 bash  random 

4
String mit IFS teilen
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 …

8
Sortieren Sie ein Array von Pfadnamen von Dateien nach ihren Basisnamen
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 …
8 bash  filenames  sort  array 

3
Referenzieren von Bash-Array-Variablen aus einem anderen Array
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 …

5
Wörter in Dateinamen mit sort alphabetisieren?
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 …
8 bash  rename  sort 

1
Erstellen meiner eigenen CP-Funktion in Bash
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 …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.