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使用
由其余参数组成的变量值如下
变量的名称;这
然后展开变量
该值用于替换的其余部分,而不是
参数本身的值。这
被称为
间接扩张