![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| 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 |
| Fractionnement de fichiers basé sur le nombre de lignes | wahi80 | De programmation et de script Shell | 2 | 06-03-2008 10:38 PM |
| Copier des lignes à partir d'un fichier de log basés sur l'horodatage | ranjiadmin | UNIX for Advanced & Expert Users | 1 | 05-22-2008 04:16 AM |
| la recherche et de stockage nombre inconnu de lignes basées sur la corde avec une condition | swamymns | De programmation et de script Shell | 7 | 05-13-2008 02:02 AM |
| Grabbing lignes d'un fichier sur la base d'une date | bsp18974 | De programmation et de script Shell | 2 | 07-17-2006 09:58 AM |
| cas basée sur la disponibilité des fichiers | Loriel | De programmation et de script Shell | 6 | 06-01-2004 09:24 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
J'ai besoin d'avoir une déclaration si un script à exécuter si il ya des processus en cours d'exécution. Le plus facile, je peux voir pour ce faire est d'exécuter un grep ps et les résultats en fonction de ce que je suis à la recherche de:
$ Ps-ef | grep wtrs --- webtrend 5046 1 0 Mai 12? 0h28 / webtrends/versions/6.1/wtrs_ui-start --- webtrend 5030 1 0 Mai 12? 3h29 / webtrends/versions/6.1/wtrs-start --- webtrend 3550 5030 25 07:03:40? 91:09 / webtrends/versions/6.1/wtrs 314-enfant --- webtrend 6473 3999 0 09:10:08 pts / 4 0:00 grep wtrs --- webtrend 4409 5030 11 07:35:54? 60:29 / webtrends/versions/6.1/wtrs 315-enfant ("--" Ajouté dans la ligne seperators) Normalement, je m'attends à voir les premier, deuxième et quatrième lignes. Cela signifie que tout fonctionne normalement. Les troisième et cinquième lignes de cet exemple sont présents parce que le programme (wtrs) est actuellement à l'exécution de certaines commandes. Donc, ce que je veux faire est une déclaration qui dit que si (en anglais): Si wtrs est présent dans l'exemple ci-dessus 3 fois ou moins, d'exécuter les commandes suivantes, sinon, faire autre chose. Alors, ce que je pensais de faire a été d'envoyer la sortie de la commande ps dans un fichier texte: $ Ps-ef | grep wtrs> test.txt Ensuite, si la déclaration peut dire: Si test.txt <4 lignes, exécuter. Tout le monde sait quelque chose comme cela serait possible, ou si il serait même possible? |
|
|||||
|
Utilisez wc-l pour compter les lignes de la production
c'est-à-dire Code:
if [ $( ps -ef | grep wtrs | wc -l ) -gt "3" ]; then # do stuff for more than 3 lines else # do stuff for three or less lines fi ZB http://www.zazzybob.com |
|
||||
|
Citation:
|
|
||||
|
Le script ressemble à ceci:
#! / bin / sh if [$ (ps-ef | grep wtrs | wc-l)-gt "3"]; puis echo de fonctionnement des choses autre echo il peut être arrêté fi erreur, il est quand il est lancé: erreur de syntaxe à la ligne 2: `( 'inattendu ![]() |
|
|||||
|
Essayez de remplacer
if [$ (ps-ef | grep wtrs | wc-l)-gt "3"], puis avec if [ `ps-ef | grep wtrs | wc-l`-gt "3"], puis Vous utilisez le shell Bourne, essayez backquotes place. Ou considérez l'utilisation de #! / Bin / ksh s'il est installé d'origine et de la syntaxe ci-dessus. Paix ZB http://www.zazzybob.com |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|