2013-01-13 10 views
9

Ich bin ein Shell-Skript von einem anderen Shell-Skript und dem gerufenen Skript Aufruf erfordert einige Eingabe (Kommandozeile) Parameter.
Ich habe unten erwähnten Code, aber das funktioniert nicht. Ich weiß nicht, warum die Argumentwerte nicht an das aufgerufene Skript übergeben werden.Wie ein Shell-Skript aufrufen und übergeben Argument von einem anderen Shell-Skript

script1.sh 
======================================= 
#!/bin/bash 
ARG1="val1" 
ARG2="val2" 
ARG3="val3" 
. /home/admin/script2.sh "$ARG1" "$ARG2" "$ARG3" 


script2.sh 
======================================= 
#!/bin/bash 
echo "arg1 value is: $1 ....." 
echo "arg2 value is: $2 ....." 
echo "arg3 value is: $3 ....." 

Aber wenn ich script1.sh ausführen ich folgendes Ergebnis:

arg1 value is: ..... 
arg2 value is: ..... 
arg3 value is: ..... 

Was bin ich?

+0

@John kann ich kenne den Grund für die Weglassung ‚Danke‘? – user85

+5

Es ist irrelevant. Der Zweck dieser Site ist es, eine Crowdsourcing-FAQ mit knappen Fragen und Antworten zu erstellen. –

+1

@sumbad, Werfen Sie einen Blick [hier] (http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be-removed-from-posts). Ich bevorzuge Fragen ohne "Danke", "Hallo", "Grüße" und so weiter. Frieden. :-) –

Antwort

11

Wenn Sie das zweite Skript mit . /home/admin/script2.sh einlesen, binden Sie es effektiv in das erste Skript ein, sodass Sie die Befehlszeilenargumente für das ursprüngliche Skript in [email protected] erhalten. Wenn Sie wirklich rufenden das andere Skript mit Argumenten, dann tun

/home/admin/script2.sh "$ARG1" "$ARG2" "$ARG3" 

(stellen Sie sicher, es ist ausführbar).

+0

ja das funktioniert bei mir !!! – user85

Verwandte Themen