shell脚本中的循环符号链接passwd

shell脚本中的循环符号链接passwd,shell,symlink,passwd,Shell,Symlink,Passwd,需要做一个循环符号链接到我想要的任何用户上的任何文件,我每个 我可以使用这个命令 awk -F: ' { p="/home/"$1; printf "%s\n%s\n%s\n",p"/public_html/example.php",p"/www/example.html",p"/tmp/example.txt" }' /etc/passwd | sort 但是,如何才能对所有用户进行循环呢 以及类似于“”的循环的输出: example.php > /home/user1/public_

需要做一个循环符号链接到我想要的任何用户上的任何文件,我每个

我可以使用这个命令

awk -F: ' { p="/home/"$1; printf "%s\n%s\n%s\n",p"/public_html/example.php",p"/www/example.html",p"/tmp/example.txt" }' /etc/passwd | sort
但是,如何才能对所有用户进行循环呢 以及类似于“”的循环的输出:

example.php > /home/user1/public_html/example.php
example.html > /home/user2/www/example.php
example.php > /home/user2/tmp/example.txt
example.php > /home/user3/public_html/example.php
example.php > /home/user3/www/example.html
example.php > /home/user3/tmp/example.txt
[...snip...]
我的意思是这样。。 重复工作或测试上述选定文件的路径 并使用命令为每个路径中的所有权限文件创建一个符号链接

ln -s
我尝试执行这些命令

#/bin/bash
mkdir folder
a=awk -F: ' { p="/home/"$1; printf "%s\n%s\n%s\n",p"/public_html/example.php",p"/www/example.html",p"/tmp/example.txt" }' /etc/passwd | sort
ln -s "$a" > folder
done
但它失败了

我等待你的回答
、谢谢stackoverflow.com

尝试以下方法:

IFS=:
while read user rest; do
    for file in public_html/example.php www/example.php; do
        if [ -e "/home/$user/$file" ]; then
             mkdir -p "/home/$user/folder"
             ln -s "/home/$user/$file" "/home/$user/folder/example.php"
             break
        fi
    done
done </etc/passwd
IFS=:
读用户休息时;做
对于public_html/example.php www/example.php中的文件;做
如果[-e”/home/$user/$file“];然后
mkdir-p“/home/$user/文件夹”
ln-s“/home/$user/$file”“/home/$user/folder/example.php”
打破
fi
完成

我理解你的问题有困难。1.在示例输出中,您排列了具有不同扩展名的文件(例如第二行中的
.html
.php
),这是有意的吗。在示例bash脚本中,调用命令
-F:
,shell变量
a
设置为
awk
。您可能想将命令的结果分配给
a
,对吗?例如,
a=$(awk-F:…| sort)
?3。在示例bash脚本中,使用单个参数执行
ln-s
(shell变量
a
的完整内容,包括所有空格和嵌入的换行符)。但是,
ln-s
只需要两个参数,一个源参数和一个目标参数。继续将该命令的标准输出重定向到
文件夹
。但是,要使其工作,文件夹必须是文件,或者必须可以创建为文件,但您已在第二行中创建了一个同名文件夹。您好,先生。。扩展只是一个示例,我想为config.PHP创建指向PHP扩展的符号链接,我想为所有用户创建符号链接,并测试配置的所有路径…欢迎我想为config.PHP创建符号链接,我测试配置的所有路径,如/home/user/public\u html/wp-config.PHP,并创建符号链接。。感谢您的重播,但我执行#/bin/bash IFS=:while read user rest;在public_html/wp config中对文件执行do;如果[-e”/home/$user/$file“],则执行此操作;然后mkdir-p“/home/$user/folder”ln-s“/home/$user/$file”“/home/$user/folder/example.php”完成