![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| UNIX для чайников Вопросы И Ответы Если вы не уверены в том, где разместить UNIX или Linux вопрос, задайте его здесь. Все UNIX и Linux приветствуем новичков!! |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Сортировка каталога Листинг | Сепия | UNIX для чайников Вопросы И Ответы | 1 | 07-11-2007 08:44 AM |
| Как я могу получить список каталогов? | haisubbu | UNIX для чайников Вопросы И Ответы | 2 | 08-25-2006 10:03 AM |
| Полный список каталогов ... | B14speedfreak | UNIX для чайников Вопросы И Ответы | 5 | 05-11-2006 09:06 AM |
| Времени в список каталогов | vijashok | UNIX для чайников Вопросы И Ответы | 2 | 10-06-2005 11:03 AM |
| Рекурсивное каталог список без списка файлов | psingh | UNIX для чайников Вопросы И Ответы | 4 | 05-10-2002 11:52 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
красиво отформатирована каталог из списка партии SSH сессии
Привет, Я действительно пытаются отделка скрипт я был назначен. Сценарий цель состоит в том, чтобы войти на каждый сервер, определенных в массиве, определить версию веб-сервера, а также список каталога Под установочную директорию. В моем случае это каталог установки почти всегда "/ отказа / IBMHTTPServer" (иногда "/ отказа / IBMHttpServer") Вот фрагмент кода. Код:
for host in ${Hosts}
do
AssumedDir=$(batch_ssh ${host} "ls -1 /opt")
if [[ ${AssumedDir} = *IBMHTTPServer* ]]; then
ServerInstallDir='/opt/IBMHTTPServer'
else
ServerInstallDir='/opt/IBMHttpServer'
fi
#DirectoryListing=$(batch_ssh ${host} "find ${ServerInstallDir} -type d -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'")
#DirectoryListing=$(batch_ssh ${host} "ls -1 $ServerInstallDir")
DirectoryListing=$(batch_ssh ${host} "ls -1 $ServerInstallDir | while read d; do echo $d ; done")
ServerVersion=$(batch_ssh ${host} "${ServerInstallDir}/bin/httpd -V | awk 'NR < 2'")
echo '<br /><h3>'${host}'</h3>' >> $HTMLFILE
echo '<b>Server Version</b>: ' ${ServerVersion} >> $HTMLFILE
echo '<br /><b>Directory Structure</b><br /> ' $DirectoryListing >> $HTMLFILE
done
#- Email results
html_mail -t "some.body@company.co.uk" -r "noreply@servername" -s "Apache Security Audit" -a "$HTMLFILE"
(Это SED Команда выше поступать из UNIX форумах часто, я забыл название! Спасибо, хотя - два прокомментировал DirectoryListing ВАР просто опыта) Итак, после этого сценария делал это дело, он ссылается на Perl Сценарий (html_mail) направить доклад. (Я не сделал этого, и я знаю, она работает хорошо). Почта приходит на основе, как и планировалось, однако в каталоге перечень весьма уродливый, он выглядит так: Код:
_uninst admindocs bin cgi-bin conf example_module htdocs icons include keys.q.hpicheck.com keys.q.hpicheck.com.20061002_141729 keys.q.racexaminations.co.uk keys.q.racvehiclehealthcheck.co.uk keys.q.vehiclestatusreport.co.uk libexec license logs man readme ssl tivready version.signature Я хотел бы, прежде файлов / каталогов 'ы должны быть перечислены, как они будут после выдачи `Ls -1` из корпуса. Спасибо за чтение моего поста, я надеюсь, что кто-то может мне помочь. Если у вас есть какие-либо комментарии о качестве кода, пожалуйста, воздух над ними, поскольку это мое первое (несколько) Полезные сценарий, и я готов за все отклики я могу получить. (Полный вариант этого скрипта Баш pastebin - совместные средства отладки) Спасибо. |
|
||||
|
Спасибо за ответ, Perderabo.
Когда я делаю, как вы предлагаете, без выходных возвращается в каталоге структуры листинга. Я попробовал другие мои два экспериментальных "DirectoryListing" переменных с переменной "двойными кавычками" в эхо заявление, что дает вывод, однако же, уродливые, выход я никак не раньше. Спасибо, grebbux. |
|
||||
|
Я думаю, я получаю то, когда я пытаюсь это: Код:
echo $DirectoryListing | sed 's/ /<br>/' >> $HTMLFILE Правила посещения: Ничего не перечислены, если я поставлю выше $ DirectoryListing в "". В список выглядит так: Код:
_uninst admindocs bin cgi-bin conf example_module htdocs icons include keys.q.hpicheck.com keys.q.hpicheck.com.20061002_141729 keys.q.racexaminations.co.uk keys.q.racvehiclehealthcheck.co.uk keys.q.vehiclestatusreport.co.uk libexec license logs man readme ssl tivready version.signature Так что я один <br> после первой записи. Я не понимаю, почему перерыва не заменяет все другие помещения, хотя! Еще раз спасибо за чтение. grebbux. |
|
||||
|
Я сделал это. Я пошла на массив подход. Код:
declare -a DirectoryListing
$DirectoryListing=$(batch_ssh ${host} "ls -1 ${ServerInstallDir}")
for dir in ${DirectoryListing[@]}
do
echo $dir '<br>' >> $HTMLFILE
done
Благодарим за помощь в любом случае. ![]() Решенные *** *** grebbux. |
|
||||
|
Ах спасибо за ответ, я думаю, что SED замещения является лучшим решением.
![]() |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|