Piccoli script problematici

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Abdujaparov
Prode Principiante
Messaggi: 216
Iscrizione: martedì 28 novembre 2006, 12:36

Piccoli script problematici

Messaggio da Abdujaparov »

Salve a tutti sto provando a scrivere dei piccoli script per semplificarmi la vita quando provo a lanciare qualche programma.
Il primo script che ho provato a scrivere si compone di una sola riga, questa:

Codice: Seleziona tutto

`/home/angelo/apache-tomcat-6.0.14/bin/startup.sh`
Se però provo ad eseguirlo mi viene dato questo messaggio d'errore:

./tomcat.sh: line 2: Using: command not found

se però incollo il percorso nella bash il programma viene eseguito, cosa devo aggiungere al mio script?
Fatto ciò come posso fare in modo che lo script venga eseguito indipendentemente dalla sua locazione? Dove devo andarlo ad incollare in modo che richiamando nomeScript da qualunque cartella venga eseguito quel programma?


Dopo questo script ho provato a scriverne un altro più complesso, che stranamente sono riuscito a far funzionare (ci sono vari if che devo dire vanno con mia sorpresa :)).
Il problema mio è come stampare gli errori che mi vengono dati dal programma che lancio, in pratica:

Codice: Seleziona tutto

if [ "$#" -gt 2 ]
then
`java org.apache.axis.wsdl.WSDL2Java $*`
fi
Quando lancio il comando e la stringa che ho passato come argomento dello script contiene delle solenni fesserie come faccio a stampare il messaggio d'errore che mi darebbe il programma?
Se lancio il mio script ./WSDL2Java giuseppe antonio alfredo carmine giosuè
mi viene dato questo messaggio:

Codice: Seleziona tutto

./WSDL2Java.sh: line 35: The: command not found
Io invece vorrei che mi venisse stampato il messaggio che da: java org.apache.axis.wsdl.WSDL2Java giuseppe antonio alfredo carmine giosuè
cioè:

Codice: Seleziona tutto

The wsdl URI has already been specified as, giuseppe.  It cannot be specified again as antonio.
Usage:  java org.apache.axis.wsdl.WSDL2Java [options] WSDL-URI
Options:
        -h, --help
                print this message and exit
        -v, --verbose
                print informational messages
        -n, --noImports
                only generate code for the immediate WSDL document
        -O, --timeout <argument>
                timeout in seconds (default is 45, specify -1 to disable)
        -D, --Debug
                print debug information
        -W, --noWrapped
                turn off support for "wrapped" document/literal
        -q, --quiet
                do not print any informational or debug messages (except err
                ors)
        -s, --server-side
                emit server-side bindings for web service
        -S, --skeletonDeploy <argument>
                deploy skeleton (true) or implementation (false) in deploy.w
                sdd.  Default is false.  Assumes --server-side.
        -N, --NStoPkg <argument>=<value>
                mapping of namespace to package
        -f, --fileNStoPkg <argument>
                file of NStoPkg mappings (default NStoPkg.properties)
        -p, --package <argument>
                override all namespace to package mappings, use this package
                 name instead
        -o, --output <argument>
                output directory for emitted files
        -d, --deployScope <argument>
                add scope to deploy.wsdd: "Application", "Request", "Session
                "
        -t, --testCase
                emit junit testcase class for web service
        -a, --all
                generate code for all elements, even unreferenced ones
        -T, --typeMappingVersion <argument>
                indicate 1.1 or 1.2.  The default is 1.1 (SOAP 1.1 JAX-RPC c
                ompliant.  1.2 indicates SOAP 1.1 encoded.)
        -F, --factory <argument>
                name of a custom class that implements GeneratorFactory inte
                rface (for extending Java generation functions)
        -H, --helperGen
                emits separate Helper classes for meta data
        -B, --buildFile
                emit Ant Buildfile for web service
        -U, --user <argument>
                username to access the WSDL-URI
        -P, --password <argument>
                password to access the WSDL-URI
        -X, --classpath
                additional classpath elements
        -i, --nsInclude <argument>
                include namespace in generated code
        -x, --nsExclude <argument>
                exclude namespace from generated code
        -c, --implementationClassName <argument>
                custom name of web service implementation
        -u, --allowInvalidURL
                emit file even if WSDL endpoint URL is not a valid URL
        -w, --wrapArrays
                Prefers building beans to straight arrays for wrapped XML ar
                ray types (defaults to off).
Cosa devo inserire per prendere questo messaggio d'errore?

Grazie a tutti, ciao ciao.
Avatar utente
MaraMax
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3639
Iscrizione: domenica 12 marzo 2006, 22:25
Località: Altopiano di Asiago

Re: Piccoli script problematici

Messaggio da MaraMax »

Abdujaparov ha scritto: Salve a tutti sto provando a scrivere dei piccoli script per semplificarmi la vita quando provo a lanciare qualche programma.
Il primo script che ho provato a scrivere si compone di una sola riga, questa:

Codice: Seleziona tutto

`/home/angelo/apache-tomcat-6.0.14/bin/startup.sh`
Se però provo ad eseguirlo mi viene dato questo messaggio d'errore:

./tomcat.sh: line 2: Using: command not found

se però incollo il percorso nella bash il programma viene eseguito, cosa devo aggiungere al mio script?
Fatto ciò come posso fare in modo che lo script venga eseguito indipendentemente dalla sua locazione? Dove devo andarlo ad incollare in modo che richiamando nomeScript da qualunque cartella venga eseguito quel programma?
Per prima cosa prova a mettere come prima riga dello script
#!/bin/bash

poi basta che sposti lo script in una directory presente nel path(basta dare da terminale $PATH per vedere le directory)
"L'uomo è buono finché gli conviene." (R. Gervaso)
"Il sesso è come il bridge; se non hai un buon partner devi avere una buona mano." (C. Pierce)
maramax@jabber.linux.it
Abdujaparov
Prode Principiante
Messaggi: 216
Iscrizione: martedì 28 novembre 2006, 12:36

Re: Piccoli script problematici

Messaggio da Abdujaparov »

Anche aggiungendo quella riga non mi viene lanciata l'applicazione, cosa può essere?
Invece di inserire la cartella nel path non potrei copiare il file in /usr/bin? Non otterrei lo stesso risultato?
Per quanto riguarda il secondo problema, cioè l'output del comando, come faccio a farlo stampare dallo script?
Grazie, ciao ciao.
Avatar utente
MaraMax
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3639
Iscrizione: domenica 12 marzo 2006, 22:25
Località: Altopiano di Asiago

Re: Piccoli script problematici

Messaggio da MaraMax »

Il famoso file tomcat.sh è contiene queste due righe:

Codice: Seleziona tutto

#!/bin/bash
/home/angelo/apache-tomcat-6.0.14/bin/startup.sh
senza gli apici.
Io avevo scritto di mettere il file in una directory già presente nel path.

Sconsiglio però di metterlo in /usr/bin per evitare di mescolare i propri script con gli eseguibili del sistema.
"L'uomo è buono finché gli conviene." (R. Gervaso)
"Il sesso è come il bridge; se non hai un buon partner devi avere una buona mano." (C. Pierce)
maramax@jabber.linux.it
Abdujaparov
Prode Principiante
Messaggi: 216
Iscrizione: martedì 28 novembre 2006, 12:36

Re: Piccoli script problematici

Messaggio da Abdujaparov »

Grazie mille lo script per tomcat funziona, invece per quanto riguarda lo script per wsdl2java come posso fare?
Grazie a tutti, ciao ciao.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti