$ myvar="/path to/my directory" $ sudo bash -c "cd $myvar" Wie kann ich in einem solchen Fall zitieren $myvar, um eine Wortteilung aufgrund der Leerzeichen im Wert von zu vermeiden
$ myvar="/path to/my directory" $ sudo bash -c "cd $myvar" Wie kann ich in einem solchen Fall zitieren $myvar, um eine Wortteilung aufgrund der Leerzeichen im Wert von zu vermeiden
Ich möchte Dateien entfernen, deren Name nicht die Zeichenfolge '999' (ohne das '') enthält. Ich habe versucht: grep -vlr 999 . | xargs -0 rm -f -- find . -print0 | grep --null-data -v 999 | xargs -0 rm -- Aber keiner von ihnen funktioniert. Ich benutze macOS Sierra mit bash:
Ich habe einen Anwendungsfall, in dem ich zu Beginn jeder Iteration mehrere Variablen einlesen und eine Eingabe des Benutzers in die Schleife einlesen muss. Mögliche Wege zur Lösung, die ich nicht erforschen kann - Verwenden Sie für die Zuweisung ein anderes Dateihandle anstelle von stdin Verwenden...
Ich habe unten Szenario wie: if [file exists]; then exit elif recheck if file exist (max 10 times) if found exit else recheck again as per counter fi
* ist ungefähr ein Platzhalter mit einer unbegrenzten Länge. ? ist ungefähr ein Platzhalterzeichen für eine oder eine Länge von eins. Gibt es einen Unterschied zwischen der Verwendung von *vs ?*bei der Suche nach Zeichenfolgen in
In Bash können Sie einen Befehl mit dem Namen clearausführen, um alle Bildschirmbefehle zu löschen. Und mit können echoSie alles, was Sie wollen, auf dem Bildschirm drucken. In meinen einfachen Skripten muss ich oft einen Prozentsatz dessen drucken, was mit meinen Befehlen gemacht wird. Also könnte...
Ich habe es versehentlich eingegeben, aber bash hat keine Fehler gedruckt (sondern eine leere Datei erstellt), also dachte ich, dass es vielleicht tatsächlich etwas bedeutet? (zB Datum |>
Ich arbeite an einem Skript und muss den tarBefehl dynamisch erstellen . Hier sind zwei Beispiele, um zu veranschaulichen, was ich versuche: #!/bin/bash TAR_ME="/tmp" EXCLUDE=("/tmp/hello hello" "/tmp/systemd*" "/tmp/Temp*") _tar="tar "`printf -- '--exclude="%s" ' "${EXCLUDE[@]}"`" -zcf tmp.tar.gz"...
Bei einem Array von Zeichenfolgen möchte ich das Array nach der Länge jedes Elements sortieren. Zum Beispiel... array=( "tiny string" "the longest string in the list" "middle string" "medium string" "also a medium string" "short string" ) Sollte sortieren nach ... "the longest string in the list"...
Ich möchte eine sortierte Liste mit allen 8-stelligen Zahlen erstellen - von 00000000 bis 99999999. Ich habe die Shell eingegeben: f() { while IFS="" read -r line; do for i in {0..9}; do echo "$line$i"; done; done } echo | f | f | f | f | f | f | f | f | tee result.txt | wc -l Antwort ist bash:...
Ich versuche, zwei Zeichenfolgen zu drucken, die durch eine TAB getrennt sind. Ich habe versucht: echo -e 'foo\tbar' printf '%s\t%s\n' foo bar Beide drucken: foo bar Wobei das Leerzeichen zwischen den beiden tatsächlich 5 Leerzeichen beträgt (gemäß Auswahl der Ausgabe mit der Maus in Putty). Ich...
Ich möchte wissen, ob es eine Möglichkeit gibt, das kaufmännische Und in eine Variable einzufügen und dennoch einen Prozess in den Hintergrund zu senden. Das funktioniert: BCKGRND=yes if [ "$BCKGRND" = "yes" ]; then sleep 5 & else sleep 5 fi Aber wäre es nicht cool, diese fünf Zeilen mit nur...
Ich habe ein paar Stunden beim Versuch, den VNC-Server (x0vncserver) auszuführen, verloren und der Client hat sich geweigert, eine Verbindung mit einer seltsamen Nachricht herzustellen No password configured for VNC Auth Der Server druckt auch diesen Fehler SVncAuth: opening password file...
Ich arbeite in einer relativ heterogenen Umgebung, in der ich möglicherweise verschiedene Versionen von Bash auf verschiedenen HPC-Knoten, VMs oder meiner persönlichen Workstation ausführe. Da ich meine Anmeldeskripte in ein Git-Repo eingefügt habe, möchte ich dasselbe (ish) .bashrcauf der ganzen...
In einem Skript habe ich ein assoziatives Array wie: declare -A VARS=( ["key1"]="value1" ["key2"]="value" ) Gibt es einen einzigen Befehl, um dies in eine Parameterliste im Formular umzuwandeln? --key1=value1 --key2=value2 ohne manuell neu schreiben zu müssen --key1="${VARS[key1]}"...
Betrachten Sie dieses Skript: tmpfile=$(mktemp) cat <<EOS > "$tmpfile" line 1 line 2 line 3 EOS cat <(tail -1 "$tmpfile") "$tmpfile" Dies funktioniert und gibt aus: line 3 line 1 line 2 line 3 Nehmen wir an, unsere Eingabequelle war keine tatsächliche Datei, sondern stdin: cat...
VAR=a,b,c,d # VAR=$(echo $VAR|tr -d '\n') echo "[$VAR]" readarray -td, ARR<<< "$VAR" declare -p ARR Ergebnis: [a,b,c,d] declare -a ARR=([0]="a" [1]="b" [2]="c" [3]=$'d\n') Wie kann ich sagen readarray, dass die letzte Zeile nicht hinzugefügt werden soll \n? Was bedeutet das neueste...
Ich habe festgestellt, dass das Setzen der extglobShell-Option innerhalb einer zusammengesetzten Verbindung zum Versagen nachfolgender Anti-Globs führt. Müssen Shell-Optionen außerhalb von zusammengesetzten Befehlen festgelegt werden? Ich habe in den Bash-Manpages keinen Hinweis auf eine solche...
Benötigen Sie Expertenvorschläge zum folgenden Vergleich: Codesegment mit Schleife: for file in `cat large_file_list` do gzip -d $file done Codesegment mit einfacher Erweiterung: gzip -d `cat large_file_list` Welches wird schneller sein? Müssen große Datenmengen
Ich habe ein Bash-Skript, das Docker einfach ein Bild pusht: docker push $CONTAINER_IMAGE:latest Ich möchte dreimal schleifen, wenn dies fehlschlägt. Wie soll ich das