Bash 如何使用shell命令一次创建指向多个目录的符号链接

Bash 如何使用shell命令一次创建指向多个目录的符号链接,bash,shell,Bash,Shell,我有一个htaccess文件,我想在大约60个其他目录中为它创建一个符号链接。我怎样才能在一行中做到这一点,而不是重复60次 示例:.htaccess文件位于目录public\u html/directory/website\u 1/ 我想在以下位置创建它的符号链接: public_html/directory/website_2/ public_html/directory/website_3/ public_html/directory/website_4/ public_html/dire

我有一个htaccess文件,我想在大约60个其他目录中为它创建一个符号链接。我怎样才能在一行中做到这一点,而不是重复60次

示例:
.htaccess
文件位于目录
public\u html/directory/website\u 1/

我想在以下位置创建它的符号链接:

public_html/directory/website_2/
public_html/directory/website_3/
public_html/directory/website_4/
public_html/directory/website_5/
但是目录不是那样编号的。举个例子。我要将符号链接复制到的所有目录都位于一个名为
public\u html/directory/
的主目录中,其中
website\u 1和website\u 2
etc

等等

我在用油灰

这就是我目前创建符号链接的方式

ln -s ~/public_html/directory/website_1/.htaccess ./website_2/.htaccess
然后我必须重做这一行,但将
网站2
更改为
网站3
,以此类推60次。

您不能直接更改。 然后您必须创建一个,将其复制到多个目标。 但要复制到多个目的地,您必须在每个目的地使用
cp-s
-s
创建符号链接,而不是复制源代码)一次

正确的方法是创建shell脚本,以便在创建第一个符号链接后在目标上循环


对于循环,您需要一个

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——但可能会涉及到更多的调试)。

您可以尝试以下一行代码:

cd-public\u html/目录;因为我在*;do ln-s/.htaccess“$i”/.htaccess;完成

cp
在这里可能不是一个好方法;它不会创建符号链接,但会复制符号链接指向的材料;do ln-s/.htaccess“$i”/.htaccess;完成
,然后得到大约60次响应
-bash:/.htaccess:权限被拒绝
。master.htaccess文件位于/directory中的airsahara中,该目录位于public\u html/目录的主目录中,所有其他目录都位于该目录中。我正在尝试为其创建符号链接。这成功了。我必须使用通配符*像这样
来表示dir in./*-*do
,因为在每个目录中都有一个
-