我正在尝试制作一个工具,根据一些命名目录在 zsh 中定义函数。目前我有这个:
while read line; do
p=( `echo $line | egrep -o -e "[^ ]+"` )
alias go${p[1]}="cd ${p[2]}"
put${p[1]}()
{
mv $1 ${p[2]}
}
done < "$HOME/.pro_targets"
这适用于别名,但在命令行上输入 put[target] 会给我
mv: cannot mv 'wol.sh' to '$HOME/work/tagfs/fuse-tutorial/src': No such file or directory
指的是 的最后一个值$p
。我认为我需要该函数围绕变量关闭${p[2]}
并根据它定义时的环境进行替换,以便它可以随每个定义而变化。