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 2022-03-24 09:54  开心种树  阅读(24)  评论(0编辑  收藏  举报