0

我们在 ksh 文件中有这个 sript。

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

有时它正在工作。有时不是,也没有错误或警告,只是一个日志

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

我在互联网上搜索,但没有找到关于 mkfifo 消息“必须指定文件”的任何内容。而且它肯定在我们的代码库中没有该消息。我不确定这是警告还是什么。有没有人有任何关于 mkfifo 消息的信息(文档,...)?

我在这里找到了一些关于 mkfifo 的信息,在此处输入链接描述,但没有关于错误消息的信息。

EDIT1:我们在该脚本之前有许多运行正常的脚本。因此,FOLDER 不可能有空间。有没有人有任何资源涉及 mkfifo 的消息“mkfifo:必须指定文件”?

4

1 回答 1

0

AIX 6.1 中的版本mkfifo肯定有这个消息:

$ 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

不指定文件很容易触发它:

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

但奇怪的是,您也可以使用“无效”-m参数来解决这个问题(即,在抛出丢失的文件名错误之前它不会验证模式参数):

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

如果您可能在变量扩展的开头使用“-m”,它也可能触发此操作。

于 2016-07-24T03:18:26.227 回答