The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
variable passant de bash à partir de perl script bash arsidh De programmation et de script Shell 10 06-04-2008 01:25 PM
Parse String à partir d'une variable racbern De programmation et de script Shell 3 04-07-2008 01:04 PM
parse variable mpang_ De programmation et de script Shell 2 01-03-2007 07:31 AM
bash env variable contenant @ Yogesh Sawant De programmation et de script Shell 4 12-20-2006 06:51 AM
analyser une variable de chaîne methos De programmation et de script Shell 3 10-18-2005 05:18 PM

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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 03-18-2008
vertical98 vertical98 is offline
Registered User
  
 

Join Date: Mar 2008
Messages: 8
Comment jugez-vous l'analyse d'une variable dans un script bash?

J'ai un script que j'utilise sur mon serveur web (Apache 2). Je suis l'évolution de Lighttpd et la nécessité de faire quelques changements.

C'est ce que j'utilise sur mon serveur apache

#! / bin / bash
# Accepte 3 paramètres: <nom_domaine> <nom_utilisateur> <XXXXXXXX>
# Nom de domaine sans www (domain.com seulement)
# Nom d'utilisateur serait mieux à 6 - 10 caractères de long
# Vérifie uniquement si la dernière est présente et l'utilise pour MySQL
# Mot de passe. S'il n'est pas présent - ne crée pas de compte mysql
if [ "$ 3"! \u003d ""], puis

--- ---- Snip

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

--- ----- Snip plus

Je donne maintenant la nécessité d'analyser la première variable d'ajouter quelques caractères:

Donc, fondamentalement:

utilisant example.com

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


Doit devenir:

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

Je pense que la meilleure façon serait d'analyser jusqu'à ce que je frappe la période et l'utilisation de la première partie comme une variable et la dernière partie comme une autre. J'espère que cela a un sens.
Toute aide serait appréciée.

Alan
  #2 (permalink)  
Old 03-18-2008
ère
Guest
  
 

Messages: n / a
Bits: 0 [Banking]
Donc, quelque chose comme ça?

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
Exemple de lancer:

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

J'espère que j'ai reçu tous les détails.

Vous ne pouvez pas vraiment "analyser" les variables beaucoup, vous pouvez effectuer une simple chaîne de caractères de substitution, comme je l'ai mais au fond c'est juste $ 1 $ 2 $ 3 et si vous avez besoin de quoi que ce soit amateur, utiliser certains utilitaire externe.
  #3 (permalink)  
Old 03-18-2008
vertical98 vertical98 is offline
Registered User
  
 

Join Date: Mar 2008
Messages: 8
Merci pour la réponse rapide! La plus-je me renseigner sur BASH plus je me rends compte que j'ai à apprendre.

Je vais essayer maintenant.
  #4 (permalink)  
Old 03-18-2008
vertical98 vertical98 is offline
Registered User
  
 

Join Date: Mar 2008
Messages: 8
Cela fait exactement ce dont j'avais besoin. Là encore, grand merci!
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 09:34 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0