ubuntuusers.de

Fehlermeldung: "syntax error: unexpected end of file"

Status: Gelöst | Ubuntu-Version: Kubuntu 14.04 (Trusty Tahr)
Antworten |

ExSi

Anmeldungsdatum:
20. Oktober 2015

Beiträge: 12

Folgendes Problem: Ich möchte mit folgenden Script die Zeit messen welche eine Funktion brauch. Jedoch ist mir time zu ungenau.

#!/bin/bash
function eccho { echo "test" }

function ltime {
	if [ `uname -s` = "FreeBSD\|Darwin" ] #Darwin=OSX
		then
			echo "Dieses Script klappt nicht unter einen BSD-Kernel"
			exit 1
		else
			local start=$(date +%s%N)
			$1
			local end=$(date +%s%N)
			echo "($end - $start) / 1000000000" | bc -l   >> ./test.txt #1sec=10⁹nanosec
	fi
}
touch ./test.txt
ltime eccho

Jedoch gibt er mir aus:

 syntax error: unexpected end of file 

ExSi

(Themenstarter)

Anmeldungsdatum:
20. Oktober 2015

Beiträge: 12

Hab es selbst erkannt

Es muss

 function eccho { echo "test" 
} 

und nicht

 function eccho { echo "test" } 

sein

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13213

ExSi schrieb:

Es muss

 function eccho { echo "test" 
} 

und nicht

 function eccho { echo "test" } 

sein

Wenn Du es auf einer Zeile haben willst, geht

1
function eccho { echo "test"; }

Oder auch einfach

1
eccho() { echo "test"; }

was dann auch gleich POSIX-konform ist.

track

Avatar von track

Anmeldungsdatum:
26. Juni 2008

Beiträge: 7174

Wohnort: Wolfen (S-A)

Was hältst Du in dem Zusammenhang von dem time - Befehl ?

Der macht die ganze Messerei schon fix und fertig für Dich.

LG,

track

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13213

track schrieb:

Was hältst Du in dem Zusammenhang von dem time - Befehl ?

ExSi schrieb:

Folgendes Problem: Ich möchte mit folgenden Script die Zeit messen welche eine Funktion brauch. Jedoch ist mir time zu ungenau.

ExSi

(Themenstarter)

Anmeldungsdatum:
20. Oktober 2015

Beiträge: 12

rklm schrieb:

Wenn Du es auf einer Zeile haben willst, geht

1
function eccho { echo "test"; }

Danke dafür, die Syntax mit "function" nehm ich nur zur einfacheren Lesbarkeit

Antworten |