1

在 BASH 中获取绝对路径的典型方法是:

`cd $THE_PATH; pwd`

但这不适用于 tcsh/csh。如果在 tcsh,你

set kk=`cd $HOME; pwd`

kk 将保存绝对路径的正确值,但是,很奇怪,“ls $kk”给你错误,它说路径不存在~!!

谁能告诉我为什么会这样?谢谢。

[编辑]

set kk=`cd $HOME; pwd`
cd $kk

会给这个:

"^[]2;myid@machine003:/u/myid^G: No such file or directory."

不过echo $kk就好啦~

"/u/myid"
4

1 回答 1

1

问题是您定义了一个cwdcmd别名。关于手册tcsh cwdcmd

... Runs after every change of working directory. ...

即:当您执行cd定义的echo命令时,也会执行并将输出保存到$kk变量中。

为避免这种情况,您可以删除cwdcmd别名:

unalias cwdcmd

但请注意,这样做的副作用是所需的功能(可能是设置xterm标题)不再起作用。

于 2012-04-18T10:24:41.027 回答