移动到符号链接的目录

移动到符号链接的目录

在 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))

相关内容