The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > UNIX para Dummies Perguntas & Respostas
.
google unix.com



UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos!

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Classificando Directory Listing Sépia UNIX para Dummies Perguntas & Respostas 1 07-11-2007 08:44
Como posso obter diretório listagem? haisubbu UNIX para Dummies Perguntas & Respostas 2 08-25-2006 10:03
Full Directory Listing ... B14speedfreak UNIX para Dummies Perguntas & Respostas 5 05-11-2006 09:06
Timestamp no diretório lista vijashok UNIX para Dummies Perguntas & Respostas 2 10-06-2005 11:03
Recursivo diretório listagem sem cotação arquivos psingh UNIX para Dummies Perguntas & Respostas 4 05-10-2002 11:52

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 03-08-2008
grebbux grebbux is offline
Usuário
  
 

Join Date: Jan 2008
Lugares: 10
agradavelmente formatada diretório listagem do lote sessão ssh

Oi,

Estou realmente lutando para acabar de um script que lhe foram atribuídas.
O script é utilizado para efetuar logon em cada servidor definido em uma matriz, determine a versão do servidor da Web, e lista do diretório abaixo o diretório de instalação. No meu caso, esta instalação é quase sempre diretório "/ opt / IBMHTTPServer" (às vezes "/ opt / IBMHttpServer")

Aqui está um trecho do código.


Código:
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"

(Essa sed comando acima provêm de um UNIX fóruns freqüente, eu esquecer o nome! Graças embora - os dois são apenas comentou DirectoryListing vars experimentação)

Portanto, depois de este script tem feito é coisa, que invoca um perl script (html_mail) para enviar o relatório. (Eu não fiz isso, e eu sei que funciona bem). O mail chega através como previsto, porém o diretório lista é muito feio, é parecido com isto:


Código:
_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

Gostaria que a acima arquivos / diretório está a ser listado como eles seriam após a emissão `ls -1` a partir da casca.

Obrigado por ler o meu post, espero que alguém pode me ajudar. Se você tiver quaisquer comentários sobre a qualidade do ar, por favor o código acima deles, como é o meu primeiro (um pouco) script útil, e estou ansioso para todos os comentários que posso chegar. (Versão completa do script é Bash pastebin - depuração ferramenta colaborativa)

Obrigado.
  #2 (permalink)  
Old 03-08-2008
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Localização: Ashburn, Virginia
Mensagens: 9.131
Tente adicionar aspas duplas:
echo '<br /> <b> Directory Estrutura </ b> <br /> " "$ DirectoryListing" >> $ Htmlfile
  #3 (permalink)  
Old 03-09-2008
grebbux grebbux is offline
Usuário
  
 

Join Date: Jan 2008
Lugares: 10
Obrigado pela resposta, Perderabo.

Quando eu faço como você sugere, não retorna para o diretório de saída estrutura listagem.

Tentei meus outros dois experimental "DirectoryListing" variáveis com a variável "dupla citada" no echo declaração, que dá saída, mas é o mesmo, feio, eu estava de saída antes de ter.

Obrigado,
grebbux.
  #4 (permalink)  
Old 03-09-2008
grebbux grebbux is offline
Usuário
  
 

Join Date: Jan 2008
Lugares: 10
Acho que estou ficando em algum lugar, quando eu tente o seguinte:


Código:
echo $DirectoryListing | sed 's/ /<br>/' >> $HTMLFILE

FYI: Nada está listado se eu colocar a acima $ DirectoryListing em "".

A lista tem o seguinte aspecto:


Código:
_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

Então eu tenho um <br> após a primeira listagem. Eu não entendo porque a ruptura não é substituída por todos os outros espaços embora!

Obrigado novamente para a leitura.
grebbux.
  #5 (permalink)  
Old 03-09-2008
grebbux grebbux is offline
Usuário
  
 

Join Date: Jan 2008
Lugares: 10
Eu fiz isso.

Fui para o array abordagem.


Código:
declare -a DirectoryListing
$DirectoryListing=$(batch_ssh ${host} "ls -1 ${ServerInstallDir}")
for dir in ${DirectoryListing[@]}
do
echo $dir '<br>' >> $HTMLFILE
done

Obrigado pela ajuda, de qualquer forma.

*** *** SOLVED

grebbux.
  #6 (permalink)  
Old 03-09-2008
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Localização: Ashburn, Virginia
Mensagens: 9.131
Citação:
Originally Posted by grebbux View Post
Acho que estou ficando em algum lugar, quando eu tente o seguinte:


Código:
echo $DirectoryListing | sed 's/ /<br>/' >> $HTMLFILE

Então eu tenho um <br> após a primeira listagem. Eu não entendo porque a ruptura não é substituída por todos os outros espaços embora!
Aquele sed s comando substitui apenas o primeiro jogo. Você precisa do g bandeira para fazer todas elas.


Código:
echo $DirectoryListing | sed 's/ /<br>/g' >> $HTMLFILE

Mas estou feliz que você tem que resolver.
  #7 (permalink)  
Old 03-09-2008
grebbux grebbux is offline
Usuário
  
 

Join Date: Jan 2008
Lugares: 10
Ah obrigado pela resposta lá, acho que a sed substituição é uma solução melhor.
Closed Thread

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 05:13.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0