The UNIX and Linux Forums  


Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
passar a variável de bash bash script de perl arsidh Programação Shell Script e 10 06-04-2008 01:25
Parse String a partir de uma Variável racbern Programação Shell Script e 3 04-07-2008 01:04
parse variável mpang_ Programação Shell Script e 2 01-03-2007 07:31
bash env variável contendo @ Yogesh Sawant Programação Shell Script e 4 12-20-2006 06:51
analisar uma variável string methos Programação Shell Script e 3 10-18-2005 05:18

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-18-2008
vertical98 vertical98 is offline
Usuário
  
 

Join Date: Mar 2008
Posts: 8
Como você analisar uma variável em um script bash?

Eu tenho um script eu uso no meu servidor web (Apache2). Estou mudando para lighttpd e necessidade de fazer algumas mudanças.

Isto é o que eu uso no meu servidor Apache

#! / bin / bash
# Aceita 3 parâmetros: <Nome do domínio name> <nomedeutilizador> <XXXXXXXX>
# Nome do domínio é, sem www (apenas domain.com)
# Usuário seriam melhores em 6 .-10. chars longo
# Só verifica se passado está presente e usa-lo para o MySQL
# Senha. Caso não esteja presente - não criar mysql conta
if [ "$ 3"! \u003d ""], então

---- Snip ---

useradd-m $ 2
filename \u003d / etc/apache2/sites-available / $ 2.www
echo "<VirtualHost 10.10.10.10>"> $ filename
echo "ServerAdmin webmaster @ $ 1">> $ filename

--- Snip mais alguns -----

Eu preciso agora analisar a primeira variável de adicionar alguns caracteres:

Então, basicamente:

utilizando example.com

#
Example.com #
#
$ HTTP [ "host"] \u003d ~ "(^ | \.) Exemplo \. Com $ (
server.document-root \u003d "/ home / exemplo / public_html"
server.errorlog \u003d "/ var / log / lighttpd / error.log-exemplo"
accesslog.filename \u003d "/ var / log / lighttpd / access.log-exemplo"
server.error-manipulador-404 \u003d "/ e404-example.php"
)


Deve tornar-se:

echo "#">> $ filename
echo "#% 1">> $ filename
echo "#">> $ filename
echo "$ HTTP [\" host \ "] \u003d ~ \" (^ | \.)<domínio>\.<tld>$ \ "(">> $ Filename
Etc --- ----

Penso que a melhor forma seria a de analisar até que eu bater o período eo uso da primeira parte, como uma variável e, a última parte do outro. Espero que isto faz sentido.
Qualquer ajuda será apreciada.

Alan
  #2 (permalink)  
Old 03-18-2008
era
Convidado
  
 

Posts: n / a
Bits: 0 [Bancária]
Então, alguma coisa assim?


Código:
#!/bin/bash

domain=${1%.*}
tld=${1#*.}

cat <<HERE
#
# $domain.$tld
#
\$HTTP["host"] =~ "(^|\.)$domain\.$tld\$" {
server.document-root = "/home/$domain/public_html"
server.errorlog = "/var/log/lighttpd/${domain}-error.log"
accesslog.filename = "/var/log/lighttpd/${domain}-access.log"
server.error-handler-404 = "/e404-$domain.php"
}
HERE

Exemplo corra:

vnix $ / tmp / htt example.com
#
Example.com #
#
$ HTTP [ "host"] \u003d ~ "(^ | \.) Exemplo \. Com $ (
server.document-root \u003d "/ home / exemplo / public_html"
server.errorlog \u003d "/ var / log / lighttpd / exampleerror.log"
accesslog.filename \u003d "/ var / log / lighttpd / access.log-exemplo"
server.error-manipulador-404 \u003d "/ e404-example.php"
)

Eu espero que eu tenho todos os detalhes direita.

Você não pode realmente "analisar" o muito variáveis, é possível realizar substituições simples string que tenho, mas basicamente é só $ 1 $ 2 $ 3, e se precisar de algo curioso, utilizar algumas externas utilitário.
  #3 (permalink)  
Old 03-18-2008
vertical98 vertical98 is offline
Usuário
  
 

Join Date: Mar 2008
Posts: 8
Obrigado pela rápida resposta! Quanto mais eu aprendo sobre o BASH mais eu percebo que tenho a aprender.

Vou testá-lo agora.
  #4 (permalink)  
Old 03-18-2008
vertical98 vertical98 is offline
Usuário
  
 

Join Date: Mar 2008
Posts: 8
Isso faz exatamente o que eu precisava. Mais uma vez Muito obrigado!
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 07:10.


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