需要做一個循環符號鏈接到任何我想要的任何文件上我想每個用戶..!循環符號鏈接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'。但是,爲了達到這個目的,文件夾必須是文件,或者必須是可創建的文件,但是您已在第二行中通過該名稱創建了一個文件夾。 –