需要做一个循环符号链接到任何我想要的任何文件上我想每个用户..!循环符号链接passwd在shell脚本中
我可以使用这个命令
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
我很难理解你的问题。 1.在示例输出中,您将不同扩展名的文件(例如,第二行中的“.html”与“.php”)排成一行,这是故意的吗? –
2.在您的示例bash脚本中,调用命令'-F:',其shell变量'a'设置为'awk'。你可能打算把命令的结果赋给'a',对吗?例如。 'a = $(awk -F:... | sort)'? –
3.在你的示例bash脚本中,用一个参数(shell变量'a'的全部内容,包括所有空格和嵌入换行符)执行'ln -s'。然而,'ln -s'只需要两个参数,一个源和一个目标。您继续将该命令的标准输出重定向到'folder'。但是,为了达到这个目的,文件夹必须是文件,或者必须是可创建的文件,但是您已在第二行中通过该名称创建了一个文件夹。 –