将其添加到我的 zsh 配置中:
set-vars() {
list="one two"
for envar in $list
do
export "$envar"=$1
done
}
$ set-vars orange
并出现错误:
set-vars:export:4: not valid in this context: one two
printenv one
或 echo $one
不返回任何内容
我看到有人在 bash 配置中这样做,zsh 不可能吗?我认为 zsh 比 bash 先进不少。
我认为您的代码可能有错误。其中列表是字符串,实际上不是列表类型。要解决这个问题,您可以使用带括号的数组语法
set-vars() {
list=("one" "two") # Create array with proper word separation
for envar in "${list[@]}" # Proper array iteration
do
export "${envar}"="$1"
done
}