MST

星途 面试题库

面试题:Bash复杂数据类型操作问题

假设你有一个包含人员信息(姓名、年龄、职业)的关联数组,编写Bash脚本实现:1. 初始化该关联数组;2. 遍历该数组并打印出每个人的信息;3. 编写一个函数,能根据姓名查找并返回其职业信息。
19.3万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试
#!/bin/bash

# 1. 初始化关联数组
declare -A people
people=(
    ["Alice"]="25;Engineer"
    ["Bob"]="30;Doctor"
    ["Charlie"]="28;Teacher"
)

# 2. 遍历数组并打印每个人的信息
for name in "${!people[@]}"; do
    age=$(echo ${people[$name]} | cut -d';' -f1)
    profession=$(echo ${people[$name]} | cut -d';' -f2)
    echo "Name: $name, Age: $age, Profession: $profession"
done

# 3. 根据姓名查找并返回其职业信息的函数
find_profession() {
    local name=$1
    if [[ -v people[$name] ]]; then
        echo $(echo ${people[$name]} | cut -d';' -f2)
    else
        echo "Person not found"
    fi
}

# 测试函数
echo "Profession of Alice: $(find_profession Alice)"
echo "Profession of David: $(find_profession David)"