The UNIX and Linux Forums  


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
Passage de paramètres d'un fichier de script shell Amit.Sagpariya De programmation et de script Shell 7 10-29-2008 08:08 AM
Passer les arguments d'un script shell à partir d'un fichier alors que l'ordonnancement dans cron weblogicsupport SUN Solaris 4 01-27-2008 11:16 PM
Besoin d'aide en passant des variables en shell script perl à une ligne Xek De programmation et de script Shell 1 01-15-2008 03:12 PM
Passage de la valeur shell script. Pls fichier dreams5617 De programmation et de script Shell 4 11-30-2004 07:16 PM
shell script signal handler jalburger De programmation et de script Shell 2 12-04-2002 05:10 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 11-17-2008
pinkgladiator pinkgladiator is offline
Registered User
  
 

Date d'inscription: octobre 2008
Messages: 17
Passage d'un fichier de traitement et d'une gamme de Perl, Shell Script

Salut,

Je tente d'appeler un script shell à partir d'un Perl script. voici le code:
@ args \u003d ( "sh", "someshellprg.sh", "un gestionnaire de fichier", "un tableau");
system (@ args) \u003d\u003d 0
or die "system @ args failed: $?";

dans le programme shell, je examiner si les arguments de sorties en utilisant:

if [$ #-ne 2]
then echo "entrée manquante"
exit 1
fi

le script retourne "entrée manquante", des idées? Merci d'avance.
  #2 (permalink)  
Old 11-17-2008
jim McNamara jim mcnamara is online now Forum Staff  
...@...
  
 

Join Date: Feb 2004
Lieu: NM
Posts: 5,800
essayer quelque chose de ce genre

Code:
$result = `sh -c someshellprg.sh a file handler  @arr`;

La «partie d'un fichier de gestion» n'a pas de sens pour moi. Vous pouvez passer le nom d'un (perl ou shell) de script, mais d'autres que je ne suis pas d'obtenir ce que vous essayez de faire.
  #3 (permalink)  
Old 11-17-2008
pinkgladiator pinkgladiator is offline
Registered User
  
 

Date d'inscription: octobre 2008
Messages: 17
J'essaie d'appeler un script shell avec deux entrées, le premier est un fichier et le second est un tableau. J'ai essayé le code, mais cela n'a pas fonctionné. Maintenant que vous savez ce que je suis en train de faire, proposez-vous une solution? Merci.
  #4 (permalink)  
Old 11-17-2008
jim McNamara jim mcnamara is online now Forum Staff  
...@...
  
 

Join Date: Feb 2004
Lieu: NM
Posts: 5,800
test.pl

Code:
#!/usr/bin/perl -w
    use strict;
    my @array = (1, 2, 3, 4, 5, 6, 9);
    my $filename = "/path/to/myfilename";    
    my @args = ( "myshell.sh", "$filename", "@array");
    system(@args) == 0 || die;


myshell.sh

Code:
echo "the filename is $1 \c"
set -A array  $2
echo  "the array = ${array[*]}"


Code:
/home/jmcnama>  test.pl
the filename is /path/to/myfilename the array = 1 2 3 4 5 6 9

  #5 (permalink)  
Old 11-17-2008
pinkgladiator pinkgladiator is offline
Registered User
  
 

Date d'inscription: octobre 2008
Messages: 17
Il n'a malheureusement pas fonctionné. Le tableau n'est pas passé sur le shell script.

Je suis l'évolution des méthodes. Le perl appelle le script shell script sans paramètres maintenant. Il écrit dans un fichier, le script lit de celui-ci. Le problème maintenant est que seulement une ligne peut être lue, même si il ya plus d'une ligne dans le fichier, ou rien ne peut être lu. J'ai essayé plusieurs façons de le faire, l'un des liens ci-dessous (il ne lit pas du tout). J'ai créé un fichier avec quelques lignes, et le script fonctionne bien, mais il ne suit plus d'une ligne si le fichier a été généré par le perl script. Merci!

#! / bin / bash
FILE \u003d "/ home / ... / somefile"

textArray [0] \u003d "" # tenir texte
c \u003d 0 # counter
# Lit tout le fichier en boucle
tout lire en ligne
faire
textArray [$ c] \u003d $ line # magasin en ligne
c \u003d $ (expr $ c + 1) # augmentation de 1 contre
done <$ FILE
# Obtenir la longueur du tableau
len \u003d $ (expr $ c - 1)

# Utilisation de la boucle d'inverser la matrice
de ((i \u003d 0; i <$ len; i ++));
faire
echo "faire le travail: $ (textArray [$ i])"
fait

Dernière édition par pinkgladiator; au 11.17.2008 10:44 PM..
  #6 (permalink)  
Old 11-17-2008
pinkgladiator pinkgladiator is offline
Registered User
  
 

Date d'inscription: octobre 2008
Messages: 17
Étrange! J'ai utilisé le script suivant pour voir le nombre de lignes de code que j'ai, et il dit 1, mais j'ai deux lignes de code.

a \u003d 0
tout lire en ligne
faire un \u003d$(($ un +1));
echo $ a;
done < "/ home / ... / emailFile.txt"
echo "Final ligne est de: $ a";
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 06:25 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