shell输出数组下标
时间: 2024-01-19 16:03:49 浏览: 96
要输出数组下标,可以使用`${!array[@]}`。这个语法会展开数组中所有的下标,并将它们作为一个空格分隔的列表输出。例如,如果有一个名为`my_array`的数组,可以使用以下命令输出它的所有下标:
```
echo "${!my_array[@]}"
```
这将输出所有的下标,例如`0 1 2 3`等。
相关问题
shell中可以用A作为数组下标吗
在shell中,可以使用字母作为数组下标,包括A。但需要注意的是,shell中的数组下标默认是从0开始的整数,如果用字母作为下标,则需要进行转换。例如,可以使用ASCII码将字母转换为数字,如'A'对应的ASCII码为65,所以可以用65作为下标来表示A。示例代码如下:
```
array=()
array[65]="Hello"
echo ${array[A]}
```
这样就可以输出数组中下标为65(即A)的元素"Hello"了。
shell根据数组的值获取下标
在Shell中,可以使用循环遍历数组中的元素,并使用if语句判断元素的值是否等于目标值,从而得到目标值的下标。
例如,假设有一个名为array的数组,需要查找值为"apple"的元素的下标,可以使用以下代码:
```bash
array=("banana" "apple" "orange" "grape")
# 获取数组长度
len=${#array[@]}
# 遍历数组
for (( i=0; i<$len; i++ )); do
# 判断当前元素是否等于"apple"
if [[ "${array[$i]}" == "apple" ]]; then
# 如果相等,输出下标并退出循环
echo "Index of 'apple' is: $i"
break
fi
done
```
在上面的代码中,使用了for循环遍历数组中的每个元素,使用if语句判断当前元素是否等于"apple",如果相等,则输出当前下标并退出循环。注意,在Shell中,数组的下标从0开始。
阅读全文