2016-06-17 14 views
0

Wir haben dieses Skript in Ksh-Datei.Log mkfifo: muss Datei angeben

FIFO_FILE=${FOLDER}/fifo_FIFOFILE.$$ 
mkfifo $FIFO_FILE 

Manchmal funktioniert es. Manchmal ist es nicht, und es gibt keine Fehler oder eine Warnung, nur ein Protokoll

mkfifo: must specify file 
Usage: mkfifo [-m mode] file ... 

ich im Internet suchen, aber keine Sache, über die mkfifo Nachricht gefunden „muss Datei angeben“. Und diese Nachricht haben wir sicher nicht in unserer Codebasis. Ich bin mir nicht sicher, ob es eine Warnung ist oder so. Hat jemand etwas (Dokument, ...) grüßt diese mkfifo Nachricht?

Ich habe hier einige Informationen über mkfif enter link description here gefunden, aber nichts über Fehlermeldung.

EDIT1: Wir haben viele Skripts vor diesem Skript, die in Ordnung sind. Es ist also nicht möglich, dass FOLDER Platz haben. Hat jemand eine Ressource mit der Nachricht "mkfifo: muss Datei angeben" von mkfifo?

+0

vielleicht passiert es, wenn FOLDER Platz enthält? –

+0

Vielen Dank für die Antwort, aber FOLDER enthält keinen Speicherplatz. – greencomet90

+0

Zur besseren Lesbarkeit, wenn ich _ im Variablennamen verwende, tendiere ich dazu, sie in {} wie 'mkfifo" $ {FIFO_FILE} "' hinzuzufügen - auch hinzufügen "für potentielle Leerzeichen macht es widerstandsfähiger gegenüber den Variablenwerten –

Antwort

0

Die Version von mkfifo in AIX 6.1 auf jeden Fall diese Meldung hat:

$ strings `which mkfifo` 
@(#)61 
1.16 src/bos/usr/ccs/lib/libc/__threads_init.c, libcthrd, bos61B, b2007_33A0 8/2/07 13:09:21 
mkfifo: 
%s %s %s 
mkfifo.cat 
XPG_UNIX98 
/usr/bin/chmod 
mkfifo: must specify file 
Usage: mkfifo [-m mode] file ... 
@(#)06 1.6 src/bos/usr/bin/mkfifo/mkfifo.c, cmdposix, bos610 1/18/03 05:12:06 

Es ausgelöst wird leicht durch eine Datei nicht spezifiziert:

$ mkfifo 
mkfifo: must specify file 
Usage: mkfifo [-m mode] file ... 

Aber neugierig, Sie können auch auf das mit einem " ungültiger Parameter "-m" (dh es überprüft den Modusparameter nicht, bevor der fehlende Dateinamensfehler ausgelöst wird):

$ mkfifo -mabcdefg 
mkfifo: must specify file 
Usage: mkfifo [-m mode] file ... 

Wenn Sie am Anfang der Variablenerweiterung möglicherweise mit '-m' enden, kann dies ebenfalls ausgelöst werden.