tcltk详解——cd和pwd
在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博客,转载请标明出处:

更多推荐

需要,命令,时候,改变,返回