shell——变量

1. 数组变量

#!/bin/bash

# bash版本大于2.0才能使用数组
echo $BASH_VERSION

# 把系统中注册的每一个用户名保存到数组变量中,
# 然后遍历整个数组,打印系统所有用户

# 未被赋值的元素为空
i=3
for name in $(awk -F: '{print $1}' /etc/passwd)
do
        user[$i]=$name
        let i=$i+1
done

# 另一种定义,注意使用空格分隔,元素从0号开始
user=(1 2 3 4)

# $的优先级高于 [] ,所以不能用 $user[4]
echo "user[4]"
echo ${user[4]}

i=1
# 使用 $arr[@] 只会返回已被赋值的元素
# 若不希望使用双引号,也可以使用 ${user[*]}
for name in "${user[@]}"
do
        echo "$i : $name"
        let i=$i+1
done

echo "数组做字符串, * 和 @ 描述数组时,不加双引号效果一样,加双引号,*把数组当作一个字符串"
echo "${user[*]}"

echo "数组做单个个体"
echo ${user[@]}
echo ${user[*]}

echo "赋值10,11,12元素,导致其他元素为空"
user=([10]=zz,ee,bb)
echo ${user[@]}

# 数组长度
echo ${#user[@]}
echo ${#user[*]}

# 删除单个元素
unset user[1]

# 删除数组
unset user

2. 特殊的变量

posted on   开心种树  阅读(25)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
历史上的今天:
2020-03-24 第20章 广播
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示