深入理解Shell变量、脚本与函数编程
1. 变量间接引用与函数
变量间接引用是一种强大的技术,它允许我们通过变量名来操作变量的值。以一个 double 函数为例,它接受一个变量名作为参数,先获取该变量的值,然后将其乘以2并重新赋值。以下是在不同Shell中的实现方式:
- Bash示例 :
num=3
double() {
local var_name=$1
local val=$(eval echo \$$var_name)
eval "$var_name=$((val * 2))"
}
double num
echo $num # 输出 6
- Zsh示例 :在Zsh中,使用
P变量扩展标志,double函数的第一行需要写成local i=${(P)1}。
double() {
local i=${(P)1}
(( i = i * 2 ))
}
num=3
double num
echo $num # 输出 6
- ksh93示例 :ksh93使用命名引用(named references),这是一种特殊类型的变量,它指向另一个
深入掌握Shell编程核心
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



