На машине UNIX я в своем текущем каталоге создаю символическую ссылку:
> ln -s public_html/code/index.html
Который создает файл с локальным именем index.html
. Как cd
- диск в каталоге public_html/code
из файла мягкой ссылки?
На машине UNIX я в своем текущем каталоге создаю символическую ссылку:
> ln -s public_html/code/index.html
Который создает файл с локальным именем index.html
. Как cd
- диск в каталоге public_html/code
из файла мягкой ссылки?
В sh
подобной среде:
cd $(dirname $(readlink -f path/to/link))
Вы можете поместить это в функцию:
function cdl { cd $(dirname $(readlink -f "$1")) }
Это будет работать.
cd_link ()
{
LINK="$1";
[ ! -L "$LINK" ] && return;
DIR=$(readlink "$LINK");
DIR=${DIR%/*};
cd $DIR
}
Это должна быть функция, а не скрипт. Вставьте ваш .bashrc, .kshrc и т.д.
одна линия:
cd $(dirname $([ -L $0 ] && readlink -f $0 || echo $0))