Shell 编程的怪事

Shell 编程的怪事

系统是Fedora3
shell 为bash

我在脚本中加入了cd /命令,但执行脚本后,并不切换目录.
还有export 也导不出变量

脚本如下:
#!/bin/bash

export PROJECT=sbc
exoprt PRJROOT=/root/$PROJECT
cd $PRJROOT
cd \ ?
是cd / 吧!
不好意思,发帖是打错了.
明白了,没有在当前shell下执行.
. ./urscript
. ./script
source ./script
exec ./script
用./script的话,里面的命令是在子进程里执行的,执行完后回到当前状态。
可以试试cd $PRJROOT;ls
你会看到能列出目录里的内容,但是从表面看来你并没有change directory..
另,推荐一本好书:《学习bash》
斑竹的个人小站里好象没有这本书,呵呵,很不错的。
exec ./script ? 这也成?
[quote:cee4ebbb0f="kornlee"]exec ./script ? 这也成?[/quote]
呵呵,貌似不可以执行就退出了喽
我以前也碰到过这个问题,后来才明白,CD的确是切换目录了,但是,当SCRIPT结束以后返回到SCRIPT开始前的环境了。怎么说呢,就像你在命令行里打出(CD /USR; LS)所得到的结果是一样的,的确切换目录并且完成工作了:)