0

このスクリプトは ksh ファイルにあります。

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

時々それは働いています。そうでない場合もあり、エラーや警告はなく、単なるログです

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

インターネットで検索しましたが、「ファイルを指定する必要があります」という mkfifo メッセージについて何も見つかりませんでした。そして、コードベースにそのメッセージが含まれていないことは確かです。警告か何かかわかりません。そのmkfifoメッセージに関して何か(ドキュメントなど)を持っている人はいますか?

ここに mkfifo に関する情報が見つかりました ここにリンクの説明を入力してください ここにエラーメッセージについては何もありません。

EDIT1: そのスクリプトの前に、正常に実行される多くのスクリプトがあります。そのため、FOLDER にスペースを確保することはできません。mkfifo のメッセージ「mkfifo: must specify file」に関連するリソースを持っている人はいますか?

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 に答える