bash:扩展变量

bash:扩展变量,bash,environment-variables,expansion,Bash,Environment Variables,Expansion,我正在尝试向我的.bashrc中添加一个函数,以便于将$PWD预先添加到环境变量中。我想让函数接受一个参数——作为工作目录前缀的变量的名称。我在想这样的事情 function prependTo{ export $1=$PWD:\$$1 } 函数prependTo{export$1=$PWD:\$$1} 我希望在bash中实现的功能是否可行?不要使用函数关键字,它已被弃用且不是POSIX。而是这样做: prependTo(){ export $1=$PWD:${!1}; } 解释 从manb

我正在尝试向我的
.bashrc
中添加一个函数,以便于将
$PWD
预先添加到环境变量中。我想让函数接受一个参数——作为工作目录前缀的变量的名称。我在想这样的事情

function prependTo{ export $1=$PWD:\$$1 } 函数prependTo{export$1=$PWD:\$$1}
我希望在bash中实现的功能是否可行?

不要使用
函数
关键字,它已被弃用且不是POSIX。而是这样做:

 prependTo(){ export $1=$PWD:${!1}; }
解释 从
manbash

如果参数的第一个字符为 感叹号 引入了变量间接法。 Bash使用 由其余参数组成的变量值如下 变量的名称;这 然后展开变量 该值用于替换的其余部分,而不是 参数本身的值。这 被称为 间接扩张