Kann mir jemand helfen, den richtigen Wert aus einer Bash-Skript-Funktion zurückzugeben?Bash-Skript-Funktion Rückgabewert Problem
Hier ist meine Funktion, die erste (und einzige) Zeile der Datei als Argument übergeben zurückkehren sollte:
hierLOG_FILE_CREATION_TIME()
{
return_value=`awk 'NR==1' $1`
return return_value
}
Und mein Aufruf dieser Funktion in dem anderen Skript:
LOG_FILE_CREATION_TIME "logfile"
timestamp=$?
echo "Timestamp = $timestamp"
Ich bekomme immer einige zufällige Werte mit diesem Code. Wenn zum Beispiel ein Wert von 62772031 in der "Log-Datei" es gibt, erhalte ich
Timestamp = 255
als Ausgang. Für einige andere Werte in der Datei erhalte ich andere zufällige Werte als Rückgabewert, niemals den richtigen Wert.
Irgendwelche Ideen?
Weißt du, wie könnte ich das in sh, statt bash. In sh timestamp = $ (LOG_FILE_CREATION_TIME "Protokolldatei") funktioniert nicht. Es heißt 'timestamp = $' unerwartet – Eedoh
@Eedoh versuchen, Backticks, 'timestamp = \' ... \ '' – plundra