bash:扩展变量

时间:2011-03-04 19:29:57

标签: bash environment-variables expansion

我正在尝试向.bashrc添加一个函数,以便将$PWD添加到环境变量中。我希望函数接受一个参数 - 要在其前面添加工作目录的变量的名称。我在想这样的事情......

function prependTo{ export $1=$PWD:\$$1 }

我想在bash中做些什么?

1 个答案:

答案 0 :(得分:3)

不要使用function关键字,不推荐使用它,也不要使用非POSIX。而是这样做:

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

解释

来自man bash

  

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