Невозможно эффективно создавать символические ссылки с целевыми файлами с такими же именами - PullRequest
0 голосов
/ 22 мая 2009

У меня есть список dotFiles на моей рабочей площадке. Например, .bashrc и .vimrc.

Я хочу сделать из них символические ссылки на мой Дом, чтобы их имена были такими же, как в моей рабочей папке.

Моя попытка псевдокода

ln workarea/.[a-zA-Z] ~/.*

Проблема в том, чтобы сделать биекцию из [a-zA-Z] в файлы, которые находятся в моем доме.

Как создать символические ссылки с целевыми файлами с тем же именем, что и исходные файлы?

Ответы [ 2 ]

2 голосов
/ 22 мая 2009

'man ln' говорит:

ln [ОПЦИЯ] ... TARGET ... КАТАЛОГ (3-я форма)

Так что вам нужно сделать что-то вроде:

$ ln -s workarea/.* ~/

1 голос
/ 22 мая 2009

Возможные варианты использования ln для создания символической ссылки:

ln -s <source-file> [<target-file]>
ln -s <source-file> ... <target-dir>

Когда вы печатаете

ln -s workarea/.[a-zA-Z]* ~/.*

(я думаю, что вы пропустили *), оболочка развернется workarea/.[a-zA-Z] и ~/.*, поэтому (при условии, что в вашем каталоге HOME содержатся файлы .abc и .def) вы бы в конечном итоге с

ln -s workarea/.bash_profile workarea/.bashrc ~/.abc ~/.def

, который не подходит ни для использования ln.

Чтобы использовать второй раз ln, вы должны использовать:

ln -s workarea/.[a-zA-Z]* ~/.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...