我看到的关于写入FIFO的大多数示例都说使用echo或cat命令并将stdout重定向到文件。例如,
echo 'a' > /tmp/my_fifo但是,如果FIFO不存在,这将创建一个常规文件。是否有一些类似于mkfifo的东西,但是如果它不存在的话,它会失败吗?也就是说,类似于:
echo 'a' | write-to-existing-file /tmp/my_fifo发布于 2017-09-07 19:38:12
根据“巴什手册”:
-p file
True if file exists and is a named pipe (FIFO).所以:
if [[ -p /tmp/my_fifo ]]; then
# commands to execute
fi这个问题有标签,巴什。在上下文中,[[和]]的使用是特定于BASH的。( [[和]]也使用zsh和Korn。)见BashFAQ/031。可移植脚本应该使用[和]编写,它们可以在所有POSIX中工作。
https://unix.stackexchange.com/questions/391023
复制相似问题