2016-07-29 9 views
-1

Ich habe das folgende Shell-Skript (genannt test):keine Ausgabe von Unix-Shell-Skript

#!/bin/sh 
echo "junk" 
filename="junk" 
echo $filename 
filename=`ls -t|head -n1` 
echo $filename 

, wenn ich dieses Skript ausführen es keine Ausgabe auf dem Terminal ist. Ich benutze roten Hut/Kitt.

Was fehlt mir?

+0

Wie sieht Ihre Verzeichnisstruktur aus? Was ist die Ausgabe, die Sie erwartet haben? Was ist der Zweck dieses Skripts? – ffledgling

+4

Wie läuft es? – chepner

+0

Ich lief es auf meinem System mit Mac El Capitan und es funktioniert. –

Antwort

6

Sie haben versehentlich den Systembefehl test ausgeführt, der keine Ausgabe erzeugt. Sie müssen stattdessen ./test verwenden, um das Skript im aktuellen Verzeichnis zu finden, während test den integrierten Shell-Befehl verwendet (und selbst wenn dies nicht der Fall wäre, würde stattdessen /usr/bin/test gefunden).

Deshalb sollten Sie Ihre Testprogramme test nicht aufrufen. Versuchen Sie stattdessen try.