【发布时间】:2012-10-12 08:24:28
【问题描述】:
这是我的文件 perl5lib.sh:
export PERL5LIB=`cat |tr '\n' ':'`<<EOF
/home/vul/repository/projects/implatform/daemon/trunk/lib/
/home/vul/repository/projects/platformlib/tool/trunk/cpan_lib
/home/projects/libtrololo
我想以文件开头
. perl5lib.sh
填充PERL5LIB 变量,但它挂起。怎么了?
我的目标是在文件末尾留下文件夹名称,所以我可以简单地添加新的:
echo dirname >> myscript
我已经尝试过,export PERL5LIB=$(echo blabla) 和 cat<<EOF 都单独工作,但不能一起工作。
=================== 解决方案========================== ==
函数解决问题!
function fun
{
export PERL5LIB=`cat|tr '\n' ':'`
}
fun<<EOF
/dir1/lib
/dir2/lib
/dir3/lib
EOF
【问题讨论】:
-
这应该行不通。它应该抱怨缺少 here-document 终止符。还有一个没用的
cat。 -
你的“函数可以解决问题!”部分产生两个额外的子进程
-
请删除“解决问题”部分并接受其中一个答案(或将其设为答案并接受)。