本文介绍了bash脚本从一个文件中创建符号链接包含的路径列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个包含了一组路径的文件
〜/ somedir / pathfile.foo
--------------------------
/home/user/dir/file1.bar
/home/user/dir/file2.bar
/home/user/dir/file3.bar
/home/user/dir/file4.bar
...
我会写一个bash脚本(或命令),将创建符号链接所有这些的.bar
当前目录中的文件()。对于澄清,如果 pathfile.foo
包含N个路径,我想有N个符号链接。
解决方案
而读线;做LN -s$行$ {行## * /};完成< pathfile.foo
上面已经执行后,下面的符号链接将出现在当前目录:
$ ls -l命令*酒吧
lrwxrwxrwx 1我我10月24日23:09 8个file1.bar - > /home/user/dir/file1.bar
lrwxrwxrwx 1我我10月24日23:09 8个file2.bar - > /home/user/dir/file2.bar
lrwxrwxrwx 1我我10月24日23:09 8个file3.bar - > /home/user/dir/file3.bar
lrwxrwxrwx 1我我10月24日23:09 8个file4.bar - > /home/user/dir/file4.bar
I have a file that contains a set of paths
~/somedir/pathfile.foo
--------------------------
/home/user/dir/file1.bar
/home/user/dir/file2.bar
/home/user/dir/file3.bar
/home/user/dir/file4.bar
...
I would to write a bash script (or command) that would create symbolic links to all these .bar
files within the current directory (.). For clarification, if pathfile.foo
contains N paths I would like to have N symlinks.
解决方案
while read line; do ln -s "$line" "${line##*/}" ; done <pathfile.foo
After the above has been executed, the following symlinks will appear in the current directory:
$ 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
这篇关于bash脚本从一个文件中创建符号链接包含的路径列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!