簡體   English   中英

如何在bash中獲得二維數組的第二維的大小?

[英]How to get the size of the second dimension of two dimensional arrays in bash?

如果我有

arr[0,0]=0;
arr[0,1]=1;

我試試

echo ${#arr[0,@]}

我有

bash: 0,@: syntax error: operand expected (error token is "@")

獲得第二維或arr大小的正確方法是什么?

BASH不支持多維數組。
不過,您可以使用各種技術來模擬它們。

以下定義相同:

  • arr[1,10]=anything
  • arr["1,10"]=anything

兩者都被評估為arr[10]=anything (謝謝chepner

echo ${arr[10]}
anything

Bash沒有多維數組。 您要做的是,除非您已將arr變量聲明為關聯數組,否則甚至不會模擬多維數組。 看看以下測試:

#!/bin/bash
arr[0,0]=0
arr[0,1]=1
arr[1,0]=2
arr[1,1]=3
echo "${arr[0,0]} ${arr[0,1]}" # will print 2 3 not 0 1
unset arr
declare -A arr
arr[0,0]=0
arr[0,1]=1
arr[1,0]=2
arr[1,1]=3
echo "${arr[0,0]} ${arr[0,1]}" # will print 0 1

你只能用${arr[@]}來獲得整體的大小

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM