1

我正在尝试向我添加一个函数以.bashrc简化添加$PWD到环境变量的操作。我希望该函数采用一个参数——在其上添加工作目录的变量的名称。我在想这样的事情...

函数 prependTo{ 导出 $1=$PWD:\$$1 }

我希望在 bash 中做的事情有可能吗?

4

1 回答 1

3

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

 prependTo(){ export $1=$PWD:${!1}; }

解释

man bash

如果参数的第一个字符是感叹号,则引入了变量间接级别。Bash 使用由其余参数形成的变量的值作为变量的名称;然后扩展此变量,并将该值用于替换的其余部分,而不是参数本身的值。这称为间接扩展。

于 2011-03-04T19:33:36.717 回答