Hilfe für ein einfaches Skript #!/bin/bash array1=( prova1 prova2 slack64 ) a="slack64" b="ab" if [ $a = $b ] then echo "$a = $b : a is equal to b" else echo "$a = $b: a is not equal to b" fi Dieses Skript funktioniert einfach nicht. Ich möchte ein …
Dieser Bash-Leitfaden sagt: Wenn die Indexnummer @ oder * ist, wird auf alle Mitglieder eines Arrays verwiesen. Wenn ich das mache: LIST=(1 2 3) for i in "${LIST[@]}"; do echo "example.$i " done Gibt: example.1 example.2 example.3(gewünschtes Ergebnis). Aber wenn ich benutze ${LIST[*]}, bekomme ich example.1 2 3stattdessen. Warum? Bearbeiten: …
Ich versuche ein Skript zu erstellen, das viele Hintergrundbefehle startet. Für jeden Hintergrundbefehl muss ich den Rückkehrcode erhalten. Ich habe folgendes Skript ausprobiert: #!/bin/bash set -x pid=() return=() for i in 1 2 do echo start $i ssh mysql "/root/test$i.sh" & pid[$i]=$! done for i in ${#pid[@]} do echo ${pid[$i]} …
In FreeBSD 12, das die zshShell verwendet, habe ich diesen Unterschied bemerkt, als ich $path(Kleinbuchstaben) im Vergleich zu $PATH(Großbuchstaben) sah. echo $path / sbin / bin / usr / sbin / usr / bin / usr / lokal / sbin / usr / lokal / bin / usr / home …
Ich habe zwei Arrays wie folgt: A=(vol-175a3b54 vol-382c477b vol-8c027acf vol-93d6fed0 vol-71600106 vol-79f7970e vol-e3d6a894 vol-d9d6a8ae vol-8dbbc2fa vol-98c2bbef vol-ae7ed9e3 vol-5540e618 vol-9e3bbed3 vol-993bbed4 vol-a83bbee5 vol-ff52deb2) B=(vol-175a3b54 vol-e38d0c94 vol-2a19386a vol-b846c5cf vol-98c2bbef vol-7320102b vol-8f6226cc vol-27991850 vol-71600106 vol-615e1222) Die Arrays sind nicht sortiert und enthalten möglicherweise sogar doppelte Elemente. Ich möchte den Schnittpunkt dieser beiden Arrays …
Ich habe eine JSON-Ausgabe, die eine Liste von Objekten enthält, die in einer Variablen gespeichert sind. (Ich kann das nicht richtig formulieren) [ { "item1": "value1", "item2": "value2", "sub items": [ { "subitem": "subvalue" } ] }, { "item1": "value1_2", "item2": "value2_2", "sub items_2": [ { "subitem_2": "subvalue_2" } ] …
Ich verwende die Bash-Shell unter CentOS 7. Ich möchte eine MySQL-Abfrage über ein Shell-Skript ausführen und jede Ergebniszeile durchlaufen. Wenn 4 Zeilen zurückgegeben würden, dachte ich, ich könnte die vier Zeilen in einem Array wie folgt erfassen: query="select p.id, p.ebook_id, es.id FROM ..."; echo "$query" > /tmp/query.sql mysql -u user …
Ich muss von einer Zeichenfolge zu einem Array wechseln, in dem jeder Eintrag jedes Wort in dieser Zeichenfolge ist. Beginnen Sie zum Beispiel mit: VotePedro="Vote for Pedro" Ich brauche das Array: Vote For Pedro Was ich dann wiederholen sollte als: for i in "${votePedroArray[@]}" do ## Do something done
Vor einiger Zeit habe ich ein Bash-Skript geschrieben, das jetzt in einer Umgebung mit ausgeführt werden kann ash. Darin bashwar wie: services=( "service1.service" "service2.service" "service3.service" ) for service in "${services[@]}" do START $service done START() { echo "Starting "$1 systemctl start $1 } In Wirklichkeit gibt es ungefähr 40 Dienste …
Kurze Erklärung der Frage: Gibt es eine integrierte Bash-Methode, um die Anzahl der Elemente im Bash-Array zu zählen, wobei der Name des Arrays dynamisch ist (dh in einer Variablen gespeichert ist), ohne eine vollständige Kopie des Arrays zu erstellen oder zu verwenden eval? Mehr Informationen: Mit der Bash-Parametersubstitution können Sie …
Gibt es eine präzise Möglichkeit, die Array-Unterstützung durch die lokale Bourne-ähnliche Shell in der Befehlszeile zu testen? Das ist immer möglich: $ arr=(0 1 2 3);if [ "${arr[2]}" != 2 ];then echo "No array support";fi oder Testen für $SHELLund Shell-Version: $ eval $(echo "$SHELL --version") | grep version und dann …
Ich habe mich über einzelne Klammern in Bash gewundert. Ich weiß, dass sie zum Ausführen von Befehlen in Subshells und zum Erstellen von Arrays verwendet werden, aber werden sie für andere Zwecke verwendet? Eine Sache, die meine Aufmerksamkeit auf sich gezogen hat, ist die, wenn Sie die in Variablenzuweisung verwenden, …
ich habe erwartet excludes="${excludes:-( ${default_excludes[@]} )}" ein Array sein, wenn $excludeses leer ist. Leider wird das Zeug danach :-als String angesehen. Habe ich eine Syntaxverzerrung verpasst oder muss ich die klobige verwenden? if [ -z "${excludes:-}" ] then excludes=( "${default_excludes[@]}" ) fi ?
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.