2014-10-09 2 views
1

У меня есть файл, который содержит набор путейБаш скрипт для создания символических ссылок из файла содержит список путей

~/somedir/pathfile.foo 
-------------------------- 
/home/user/dir/file1.bar 
/home/user/dir/file2.bar 
/home/user/dir/file3.bar 
/home/user/dir/file4.bar 
... 

Я хотел бы, чтобы написать Баш скрипт (или команду), которая будет создавать символические ссылки все эти файлы .bar в текущем каталоге (.). Для уточнения, если pathfile.foo содержит N путей, я хотел бы иметь N символических ссылок.

ответ

1
while read line; do ln -s "$line" "${line##*/}" ; done <pathfile.foo 

После вышеизложенного была выполнена, следующие символические ссылки будут отображаться в текущем каталоге:

$ ls -l *bar 
lrwxrwxrwx 1 me me 24 Oct 8 23:09 file1.bar -> /home/user/dir/file1.bar 
lrwxrwxrwx 1 me me 24 Oct 8 23:09 file2.bar -> /home/user/dir/file2.bar 
lrwxrwxrwx 1 me me 24 Oct 8 23:09 file3.bar -> /home/user/dir/file3.bar 
lrwxrwxrwx 1 me me 24 Oct 8 23:09 file4.bar -> /home/user/dir/file4.bar 
Смежные вопросы