|
楼主 |
发表于 2008-10-26 22:30:24
|
显示全部楼层
Post by ti8er;1899027
bash -e 是什么?
BLFS第23章配置X window系统的代码错了吗?
从前面的校验可以看出,没有错!
那么,为什么有的人把那些代码制作成脚本,会不按预想的方式执行呢?
首先是:他们没有按照BLFS手册的要求去做!
可以看看手册的原文,或者也可以到
http://svn.gooth.cn/blfs/当前
看看我翻译好的X window那一章。
原文的要求是,在终端下输入下面的命令(或者类似的)
是“输入”而不是放在一个脚本中执行!这两者“有所不同”!
我知道有的人一定是把命令复制粘贴到了一个文件中,比如temp,然后试图运行
source temp
来达到预期的结果。但是,这种做法根本不能达到目的!
根本原因就是:上面那个脚本文件中的所有命令,是在第一个shell中运行的,而不是第二个。
于是,运行的结果就会是打开一个带-e参数的bash。然后脚本就会等待。等到这个bash退出以后,才会运行接下来的命令。这也就达不到出错退出的要求了。
附上6.2版BLFS手册原文 ---ti8er兄翻译的BLFS/X章节在哪里可以看到 您给的地址似乎打不开
Additionally, because of the large number of repetitive commands, you are encouraged to script the build. For most sections, you can use a script with commands similar to the following, to compile and install all packages in a wget file list:
bash -e #exit on all errors
for package in $(cat ../wgetlist.wget)
do
packagedir=$(echo $package | sed 's/.tar.bz2//')
tar -xf $package
cd $packagedir
./configure $XORG_CONFIG
make
make install
cd ..
rm -rf $packagedir
rm -f $package
done 2>&1 | tee -a ../xorg-compile.log #log the entire loop
The above shell will exit immediately on error. If it runs to completion, you should manually exit the shell before continuing on to the next set of instructions. |
|