![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| passeren variabele vanuit bash te perl vanuit bash-script | arsidh | Programmeren en Shell Scripting | 10 | 06-04-2008 12:25 |
| Parse String uit een variabel | racbern | Programmeren en Shell Scripting | 3 | 04-07-2008 12:04 |
| parse variabele | mpang_ | Programmeren en Shell Scripting | 2 | 01-03-2007 07:31 |
| bash env variabele met @ | Yogesh Sawant | Programmeren en Shell Scripting | 4 | 12-20-2006 06:51 |
| parse een string variabele | methos | Programmeren en Shell Scripting | 3 | 10-18-2005 04:18 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Hoe denkt u parse een variabele in een bash script?
Ik heb een script gebruik ik op mijn web-server (Apache2). Ik ben aan het veranderen lighttpd en noodzaak om een paar wijzigingen.
Dit is wat ik op mijn apache server #! / bin / bash # Accepteert 3 parameters: <Domein- naam> <gebruikersnaam> <XXXXXXXX> # Domeinnaam zonder www (net domain.com) # Gebruikersnaam zou best op 6 tot 10 tekens lang # Alleen controles als laatste aanwezig is en gebruikt deze voor MySQL # Wachtwoord. Indien niet aanwezig - geen mysql-account if [ "$ 3"! \u003d ""]; vervolgens --- Knip ---- useradd $ 2-m filename \u003d / etc/apache2/sites-available / $ 2.www echo "<VirtualHost 10.10.10.10>"> $ filename echo "ServerAdmin webmaster @ $ 1">> $ filename --- Snip wat meer ----- Ik moet nu parse de eerste variabele toe te voegen sommige karakters: Dus in feite: met behulp van example.com # # Example.com # $ HTTP [ "host"] \u003d ~ "(^ | \.) Voorbeeld \. Com $" ( server.document-root \u003d "/ home / example / public_html" server.errorlog \u003d "/ var / log / lighttpd / example-error.log" accesslog.filename \u003d "/ var / log / lighttpd / example-access.log" server.error-handler-404 \u003d "/ e404-example.php" ) Moet worden: echo "#">> $ filename echo "#% 1">> $ filename echo "#">> $ filename echo "$ HTTP [\" host \ "] \u003d ~ \" (^ | \.)<domein>\.<tld>$ \ "(">> $ Filename --- Etc ---- Ik denk dat de beste manier zou zijn om parse totdat ik hit de periode en gebruik van het eerste deel als een variabele en het laatste deel als een ander. Ik hoop dat dit zinvol is. Eventuele bijstand zou worden gewaardeerd. Alan |
|
||||
|
Dus zoiets als dit?
Code:
#!/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
vnix $ / tmp / htt example.com # # Example.com # $ HTTP [ "host"] \u003d ~ "(^ | \.) Voorbeeld \. Com $" ( server.document-root \u003d "/ home / example / public_html" server.errorlog \u003d "/ var / log / lighttpd / exampleerror.log" accesslog.filename \u003d "/ var / log / lighttpd / example-access.log" server.error-handler-404 \u003d "/ e404-example.php" ) Ik hoop dat ik alle details goed. Je kunt niet echt "parse" de variabelen veel, je kunt eenvoudige string substituties zoals ik heb, maar eigenlijk is het gewoon $ 1 $ 2 $ 3 en als je iets nodig liefhebber, gebruiken sommige externe hulpprogramma. |
![]() |
| Bladwijzers |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|