Als «bash» getaggte Fragen

8
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...

8
Warum haben [[-z]] und [[-v]] unterschiedliche Syntax?

Wenn ich einige Befehle ausführen möchte, deren Variablen nicht festgelegt sind, verwende ich: if [[ -z "$a" || -z "$v" ]] then echo "a or b are not set" fi Die gleiche Syntax funktioniert jedoch nicht -v. Ich muss Folgendes verwenden: if [[ -v a && -v b ]] then echo "a & b are set" fi...

8
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...

8
Was sind Bash-Pakete?

Der Google Bash Style Guide erwähnt Bash-Pakete, bei denen der Paketname durch Doppelpunkte vom Funktionsnamen getrennt werden sollte Wenn Sie einzelne Funktionen schreiben, verwenden Sie Kleinbuchstaben und separate Wörter mit Unterstrich. Wenn Sie ein Paket schreiben, trennen Sie die Paketnamen...

8
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

8
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...

8
wie man den Array-Wert in Bash verschiebt

Wir möchten als Beispiel 6 Mount-Point-Ordner erstellen /data/sdb /data/sdc /data/sdd /data/sde /data/sdf /data/sdg Also haben wir dieses einfache Bash-Skript mit Array geschrieben folder_mount_point_list="sdb sdc sdd sde sdf sdg" folderArray=( $folder_mount_point_list ) counter=0 for i in disk1...

8
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...