ich über diese kühle Bash Funktion kam zum Prüfen, ob ein Array ein Element enthält:Bash Prüfungselement in der Anordnung für Elemente in einem anderen Array
CONTAINS_ELEMENT(){
local e
for e in "${@:2}"; do [[ "$e" == "$1" ]] && return 0; done
return 1
}
Hier ist ein Beispiel dafür Nutzung ist:
if CONTAINS_ELEMENT $element "${array[@]}"; then
...
fi
Meine Frage ist dies: Gibt es eine Möglichkeit, diese Funktion neu schreiben, so dass es überprüfen kann, ob ein Wert innerhalb einer Array ist gleich einem Wert mit dem anderen Array, und nicht nur nach einem einzigen Wert, wie es corrently tun es?
Nicht korrekt! Probieren Sie '" $ {@: 2} "'. – TrueY
Sehr ähnlich zu Array-Kreuzungsfragen [1] (http://stackoverflow.com/questions/2696055/intersection-of-two-lists-in-bash) und [2] (http://stackoverflow.com/questions/ 7870230/array-intersection-in-bash). – l0b0
Um zu zeigen, dass die Frage gelöst wurde, kreuzen Sie eine der Antworten als "akzeptiert" an. – fedorqui