Предполагая, что вы хотите создать:
/home/kostas/test/dir/hello/link -> /home/kostas/file/to/link
сим-ссылку (предполагая, что /home/kostas
- это ваш текущий каталог), но используя относительную ссылку, то есть:
/home/kostas/test/dir/hello/link -> ../../../file/to/link
Тогда вы можете сделать (с помощью GNU ln
):
$ current_path=test/dir/hello
$ parent_file_to_lunk=file/to/link
$ ln -rsvt "$current_path/" "$parent_file_to_lunk"
‘test/dir/hello/link’ -> ‘../../../file/to/link’
без GNU ln
, но с GNU bash -O extglob
или zsh -o kshglob
или ksh93
:
$ ln -s "${current_path//+([^\/])/..}/$parent_file_to_lunk" "$current_path/"
(обратите внимание, что предполагается, что компоненты $current_path
сами по себе не являются симлинками)
$ ln -s "${current_path//+([^\/])/..}/$parent_file_to_lunk" "$current_path/"
(обратите внимание, что это предполагает, что компоненты $current_path
не являются симлинками)
/home/kostas/test/dir/hello/link -> ../../../file/to/link
.
Fedora 15 здесь:
https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/15/Fedora/