Предположим, что имя ссылки существует в результате выполнения (в прошлом):
ln -s /the/path/to/a/file linkname
Затем есть три способа изменить символическую ссылку:
Использовать ln с -f
принудительно, и даже для каталогов-n
(индексный дескриптор может использоваться повторно):
ln -sfn /some/new/path linkname
Удалите символическую ссылку и создайте новую (даже для каталогов):
rm linkname; ln -s /some/new/path linkname
создать новую символическую ссылку, затем mv
ее (атомарное изменение даже для каталогов):
ln -s /some/new/path newlinkname
mv -fT newlinkname linkname # linkname remains after the command
Вы должны передать имя каталога функций в кавычках.
$ type foo
foo is a function
foo ()
{
dir="${1}";
cat "${dir}/test"
}
$ foo "folder 1"
foobar
$ foo folder 1
cat: folder/test: No such file or directory