问题描述
我正在创建一个PATH
环境变量,该变量以/foo
开头,以/bar
结尾;并在我之间“夹心”我以编程方式串联在一起的一组相关bin
路径,如下所示:
export PATH=/foo:$(ls -1d /path/to/*/bin | xargs | sed -e 's/ /:/'g):/bar
我遇到的问题是中间的路径集被解释为一个巨型字符串,而不是被冒号(“:”)分隔的标记化路径。
为了获得标记化结果,我尝试了一些变体,例如:
export PATH=/foo:$(echo $(ls -1d /path/to/*/bin | xargs | sed -e 's/ /:/'g)):/bar
但是没有运气。我还尝试了包含eval(1)
等的变体。我想我接下来可以尝试使用find(1)
和朋友。
有效的方法是粘贴文字长字符串,但这真是令人讨厌,因为它不是程序性的。
顺便说一句,此问题并非特定于PATH
,因为用export BLAH=...
替代会导致相同的问题。
是否有任何修改上述内容的想法,以便将结果标记化?您可以通过创建user$ mkdir -p /tmp/{1,2,3,4}/bin
并进行游戏来自己尝试。
无论解决方案是什么,今天都还没来。 =:)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)