我有一个htaccess文件,我想在大约60个其他目录中创建一个符号链接。我怎么能在一行中做到这一点,而不是超过60次呢?
示例:.htaccess
文件位于目录public_html/directory/website_1/
我想在其中创建一个符号链接:
public_html/directory/website_2/
public_html/directory/website_3/
public_html/directory/website_4/
public_html/directory/website_5/
但目录没有这样编号。以此为例。我想要将符号链接复制到的所有目录都在一个名为public_html/directory/
的主目录中,其中website_1 and website_2
等位于其中。
等等
我使用的是PuTTY。
这就是我目前正在创建符号链接的方式。
ln -s ~/public_html/directory/website_1/.htaccess ./website_2/.htaccess
然后我必须重做同一行,但将website_2
更改为website_3
,依此类推60次。
答案 0 :(得分:1)
您需要for
循环:
for dir in ./website_*
do
[ "$dir" = "./website_1" ] && continue # Skip the master file
ln -s ~/public_html/directory/website_1/.htaccess "$dir"
done
我认为没有更快的方法(除非你使用Perl脚本来完成这项工作,或者也许使用Python - 但是可能需要更多的调试工作)。
答案 1 :(得分:0)
你不能直接。
您必须创建一个,然后将其复制到多个目的地。
但要复制到多个目标,您必须使用cp -s
(-s
创建符号链接而不是复制源)每个目标一次。
正确的方法是创建shell脚本以在创建第一个符号链接
后循环遍历目标
答案 2 :(得分:0)
你可以试试这个单行:
cd public_html/directory; for i in *; do ln -s <NAME_WEB1>/.htaccess "$i"/.htaccess;done