http://blog.csdn.net/dulixin/archive/2008/04/21/2312743.aspx
在tcl中cd命令用来改变当前的工作目录,在需要对文件和目录进行操作时是一个必不可少的工具,除非你愿意把所有的文件都无序的放在当前用户目录下。(以下举例以windows系统下为例)
1、cd
名称
cd - 改变工作目录
语法
cd ?dirName?
描述
改变当前的工作目录到dirName中,或者进入主目录,如果没有给出dirName,就返回一个空字符串。注意当前的工作目录是一个进程资源,cd命令改变了解释器和线程的工作目录。
示例
改变路径到主目录下的fred用户目录:
cd ~fred
进入到当前目录的兄弟目录lib中:
cd ../lib
2、pwd
名称
pwd - 返回当前工作目录的绝对路径
语法
pwd
描述
返回当前工作目录的绝对路径。
示例
有的时候使用exec命令运行外部命令的时候需要修改工作目录,但是保持当前的工作路径是非常重要的,就需要保存当前的工作路径等外部命令运行完毕后再修改回来:
set tarFile [file normalize somefile.tar]
set savedDir [pwd]
cd /tmp
exec tar -xf $tarFile
cd $savedDir 当运行tclsh时,当前的目录可以使用pwd来观察目前用户目录,在windows下的目录结构:
% pwd
C:/Documents and Settings/user321
其中的user321就是当前用户。
注意:在windows下的路径是用"\"隔开的,但是tcl返回的结果都是使用"/"隔开的,在使用的时候需要注意。如果在敲路径的时候使用"\",那么路径就需要这样写"\\",要么直接使用一个"/",下面的例子中"E:/tcltk"的效果和"E:\\tcltk"效果相同。
可以使用cd命令来修改工作目录,以绝对路径方式进入到E盘下的tcltk目录下
% cd E:/tcltk
可以使用相对路径来修改工作目录,比如目前在E:/tcltk,此目录下有work和tools两个子目录,那么现在进入work目录的方法可以直接使用相对路径:
% cd work
或者
% cd ./work
"./"代表当前目录,在某些情况下可能需要使用,比如文件名以特殊符号"~"开头
现在所在的路径为E:/tcltk/work,如果想进入work的子目录就如上面所说,那么现在如果想退回到E:/tcltk目录下的方法呢?使用"cd .."就是返回到上级目录。
% cd ..
目前所有的路径为E:/tcltk,我们使用命令"cd work"再次进入到E:/tcltk/work目录中,现在如果想进入到tools目录下,有三种方法,第一种是使用绝对路径直接进入,第二种先退回到tcltk目录下,然后再进入到tools中,下面介绍第三种方法,直接进入兄弟目录中的方法:
% cd ../tools
任何时间想直接进入到用户主目录下:
% cd ~
进入user111用户目录下
% cd ~user111
如果你的某一个文件以~开头,比如说~test,就需要
% cd ./~test
进入文件名带有空格的文件中,假设myPath是一个带有空格的路径名,因为tcl并不以空格符为分隔符,所以可以将路径名放入""中直接进入。
% cd "$myPath"
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/dulixin/archive/2008/04/21/2312743.aspx