CDPATH 最近在看一本关于SHELL脚本的书,突然发现了CDPATH环境变量的使用,对日常维护很有作用。下面举例描述一下
如果你是一个DBA,经常查看数据库警告日志是必须的,以前我都用
- oracle@CESTOS5 ~> cd /oracle/admin/test16/bdump/
-
oracle@CESTOS5 /oracle/admin/test16/bdump> tail -50 alert_test16.log
有了CDPATH,你可以事先在.bash_profile中设置
export CDPATH=/oracle/admin/test16
- oracle@CESTOS5 ~> export CDPATH=/oracle/admin/test16/
-
oracle@CESTOS5 ~> cd bdump
-
/oracle/admin/test16/bdump
-
oracle@CESTOS5 /oracle/admin/test16/bdump> tail -50 alert_test16.log
然后直接tail 就OK了.当输入cd bdump,系统就会进入$CDPATH/bdump
目录。上面的例子已经说明了这一点。
但是特殊情况如果当前目录也有bdump子目录,那系统会如何呢?实践是检验真理的唯一标准,我们来测试一下。
- 1.在当前目录下建立bdump子目录
-
oracle@CESTOS5 ~> mkdir bdump
-
2.进入bdump目录
-
oracle@CESTOS5 ~> cd bdump/
-
/oracle/admin/test16/bdump
-
oracle@CESTOS5 /oracle/admin/test16/bdump>
我们可以看到进入了CDPATH的bdump,所以说CDPATH是优先的.如果要进入我们刚刚的bdump目录怎么办呢?可以用
- oracle@CESTOS5 ~> cd ./bdump/
-
oracle@CESTOS5 ~/bdump>
我们再来做个实验,如果在当前新建一个test目录,而CDPATH下面没有的,会如何呢?
- oracle@CESTOS5 ~/bdump> mkdir test
-
oracle@CESTOS5 ~/bdump> cd test/
-
oracle@CESTOS5 ~/bdump/test>
结果很明显了,我就不做总结了。
阅读(1479) | 评论(0) | 转发(0) |