在 UNIX 机器上,我在当前目录中创建一个符号链接:
> ln -s public_html/code/index.html
在本地创建一个名为的文件index.html
。如何从软链接文件cd
到目录?public_html/code
答案1
在sh
类似环境中:
cd $(dirname $(readlink -f path/to/link))
您可以将其放入函数中:
函数 { cd $(目录名 $(readlink -f "$1")) }
答案2
这会起作用。
cd_link ()
{
LINK="$1";
[ ! -L "$LINK" ] && return;
DIR=$(readlink "$LINK");
DIR=${DIR%/*};
cd $DIR
}
这需要是一个函数,而不是一个脚本。放入你的 .bashrc、.kshrc 等中。
答案3
一条线:
cd $(dirname $([ -L $0 ] && readlink -f $0 || echo $0))