Ich möchte überprüfen, ob die Länge eines Bash-Array gleich einer Bash-Variable (int) ist oder nicht. Mein aktueller Code sieht so aus:Überprüfen, ob die Länge des Arrays gleich einer Variablen in der Bash ist
if [ "${#selected_columns}" -eq "${number_of_columns}" ]; then
echo "They are equal!"
fi
Dies gibt false zurück, da die echo-Anweisung nie ausgeführt wird. Dies führt jedoch zu 4 für beide:
echo "${#selected_columns[@]}"
echo "${number_of_columns}"
Was ist hier falsch? Hat es etwas mit String versus int zu tun?
Vermissen Sie nicht '[@]' im ersten Beispiel? – Junuxx
'if [" $ {# selected_columns [@]} "-eq" $ {number_of_column} "]; dann ' –
Ja, nur ein dummer Tippfehler. Vielen Dank! –