![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui. |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| passando dal variabile di perl da bash script bash | arsidh | Shell scripting e di programmazione | 10 | 06-04-2008 01:25 PM |
| Parse String da una variabile | racbern | Shell scripting e di programmazione | 3 | 04-07-2008 01:04 PM |
| analizzare la variabile | mpang_ | Shell scripting e di programmazione | 2 | 01-03-2007 07:31 AM |
| env bash variabile contenenti @ | Yogesh Sawant | Shell scripting e di programmazione | 4 | 12-20-2006 06:51 AM |
| analizzare una variabile di stringa | methos | Shell scripting e di programmazione | 3 | 10-18-2005 05:18 PM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Come posso analizzare una variabile in uno script bash?
Ho uno script di usare il mio server web (Apache2). Sono cambiando a lighttpd e necessità di apportare alcune modifiche.
Questo è quello che uso io sul mio server apache #! / bin / bash # Accetta 3 parametri: <nome <nome <XXXXXXXX> # Nome di dominio, senza www (solo domain.com) # Nome utente sarebbe meglio a 6 - 10 caratteri lungo # Solo l'ultima verifica se è presente e lo utilizza per MySQL # Password. Se non si presenti - non crea account mysql if [ "$ 3"! \u003d ""]; poi --- Snip ---- useradd $ 2-m filename \u003d / etc/apache2/sites-available / $ 2.www echo "<VirtualHost 10.10.10.10>"> $ nomefile echo "ServerAdmin webmaster @ $ 1">> $ nomefile --- Snip alcuni più ----- Ho bisogno ora di analizzare la variabile prima di aggiungere alcuni caratteri: Quindi, sostanzialmente: utilizzando example.com # Example.com # # $ HTTP [ "host"] \u003d ~ "(^ | \.) Esempio \. Com $" ( server.document-root \u003d "/ home / esempio / public_html" server.errorlog \u003d "/ var / log / lighttpd / esempio-error.log" accesslog.filename \u003d "/ var / log / lighttpd / esempio-access.log" server.error-gestore-404 \u003d "/ e404-example.php" ) Deve diventare: echo "#">> $ nomefile echo "#% 1">> $ nomefile echo "#">> $ nomefile echo "$ HTTP [\" host \ "] \u003d ~ \" (^ | \.)<dominio>\.<tld>$ \ "(">> $ Nomefile --- ---- Etc Penso che il modo migliore sarebbe quella di analizzare fino a quando non ho raggiunto il periodo di utilizzo e la prima parte di una variabile e l'ultima parte di un altro. Spero che questo ha un senso. Qualsiasi aiuto sarà apprezzato. Alan |
|
||||
|
Quindi, qualcosa come questo? Codice:
#!/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
Esempio di esecuzione: vnix $ / tmp / htt example.com # Example.com # # $ HTTP [ "host"] \u003d ~ "(^ | \.) Esempio \. Com $" ( server.document-root \u003d "/ home / esempio / public_html" server.errorlog \u003d "/ var / log / lighttpd / exampleerror.log" accesslog.filename \u003d "/ var / log / lighttpd / esempio-access.log" server.error-gestore-404 \u003d "/ e404-example.php" ) Spero che ho tutti i dettagli destra. Non si può davvero "analizzare" le variabili molto, è possibile eseguire semplici come la sostituzione delle stringhe che ho, ma fondamentalmente è solo $ 1 $ 2 $ 3, e se avete bisogno di qualcosa fancier, utilizzare alcune utility esterne. |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|