+ -
当前位置:首页 → 问答吧 → (CLFS)求证:路径PATH设置中的”:”问题?

(CLFS)求证:路径PATH设置中的”:”问题?

时间:2009-10-21

来源:互联网

1)我记得最早学习BASH的时候,提到PATH=是以:为前导的。但我很难再找到原来资料。
2)读LFS手册时,见到没有这样使用。两年前曾尝试LFS(宿主机redflag),失败了。这次继续试验,从lfs,clfs,clfs-sysroot,都没有成功(开始怀疑是lfs的设置繁复出错)。今天在进行CLFS-SYSROOT时,经历十余次的编译,发觉在第一次EGLIBC出错。因为CLFS编译,提示不能求解形如x86_64-unknown-linux-gnu这样的式子问题(没有留下信息,大概是这样的意思)。开始怀疑PATH设置不其作用。
输入
x86_64-unknown-linux-gnu-ar
竟然找不到。于是将路径设置为
PATH=:${CLFS}/cross-tools/bin:/bin:/usr/bin
eglibc(第一次)可以顺利进行。
3)以前在帖子
http://www.linuxsir.org/bbs/thread357414.html
提到的问题,现在看来,是属于设置路径不起作用,操作的目录在宿主机上的系统进行,所以出现了权限问题。
我使用的是宿主机archlinux,经过最新的升级。

这种情况可能吗?

作者: zswlb9999   发布时间: 2009-10-21

开玩笑么,用中文 ":" 作前导?

对 bash 来说,下面两种赋值无区别
代码:
PATH=::::::::::::::::::::::::::::/usr/bin:/bin:::::::::::::::::::::::::::::::::::::::
PATH=/usr/bin:/bin

作者: 聚焦深空   发布时间: 2009-10-21

引用:
作者: 聚焦深空
开玩笑么,用中文 ":" 作前导?

对 bash 来说,下面两种赋值无区别
代码:
PATH=::::::::::::::::::::::::::::/usr/bin:/bin:::::::::::::::::::::::::::::::::::::::
PATH=/usr/bin:/bin
1)不好意思,写帖子时,使用了中文。LS很厉害。
2)按楼上的说法,那问题的原因,就很难找出来了。
尤其是1贴中提到的权限问题。进行CLFS2.0,编译过程无明显错误提示,进入最后阶段(chroot),无法进入。查说找不到什么共享库(进行过数十次编译)。转向CLFS-SYSROOT,幸好在第一遍eglibc发现问题。

继续clfs-sysroot.原因以后再查。

作者: zswlb9999   发布时间: 2009-10-21

想不通,即使不是用中文,为什麽会有用":"作前导?

作者: d00m3d   发布时间: 2009-10-21

个人理解,是为了保持一致性:
我们经常使用类似下面的方式定义 PATH 一族变量,如 PATH LD_LIBRARY_PATH ...
代码:
PATH=$PATH:/somedir
PATH=/somedir:$PATH
这样即使 PATH 初始值为空,也一样可以正常处理。

作者: 聚焦深空   发布时间: 2009-10-21