Thread [Bash] parameter problem (15 answers)
Opened by lichtkind at 2013-04-01 19:42

murphy
 2013-04-03 11:56
#166858 #166858
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
2013-04-03T07:58:45 GwenDragon
In $? ist der Wert eines Exit.
Code (sh): (dl )
gtpath=perl ~/code/perl/project/name/script.pl "$@"; retval=$?;

in retval ist es dann drin.
in gtpath ist das was das Perl-Programm nach STDOUT schreibt.

So wie der Befehl dasteht, ist gtpath während des Aufrufes von script.pl auf den String perl gesetzt und behält ansonsten den Wert, den es unabhängig von diesem Befehl hatte. retval wird auf den Rückgabewert des Skriptaufrufes gesetzt.

Wollte man die Ausgabe des Skriptes in gtpath einfangen, so müsste der Befehl zum Beispiel mit
Code: (dl )
gtpath=$(perl ~/code/perl/project/name/script.pl "$@")

oder
Code: (dl )
gtpath=`perl ~/code/perl/project/name/script.pl "$@"`

beginnen.
When C++ is your hammer, every problem looks like your thumb.

View full thread [Bash] parameter problem