нужно создать циклическую символическую ссылку на любой файл, который я хочу на любых пользователях i each ..!loop symbolic link 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_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' versus' .php' во второй строке), является ли это преднамеренным? –
2. В вашем примере скрипта bash вы вызываете команду '-F:' с переменной оболочки 'a', установленной в' awk'. Вы, вероятно, хотели назначить результат команды 'a', верно? Например. 'a = $ (awk -F: ... | sort)'? –
3. В вашем образцовом скрипте bash вы выполняете 'ln -s' с единственным аргументом (полное содержимое переменной оболочки' a', включая все пробелы и вложенные строки перевода строки). Однако 'ln -s' требует ровно два аргумента, источник и место назначения. Вы переходите к перенаправлению стандартного вывода этой команды в 'folder'.Однако для этого, папка должна быть файлом или должна быть создана как файл, но вы создали папку под этим именем во второй строке. –