首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以在linux中创建一个特殊的文件,实际上是脚本的输出吗?

问我可以在linux中创建一个特殊的文件,实际上是脚本的输出吗?
EN

Unix & Linux用户
提问于 2013-08-03 10:24:22
回答 2查看 175关注 0票数 1

我能否在linux中创建一个特殊的文件,也许使用mknod,这实际上是一个脚本的输出?

示例:

cat specialfile

产出:

testing 123

内部特殊文件:

echo "testing 123"

因此,与其实际显示echo "testing 123"

它显示了脚本输出testing 123的结果。

我意识到脚本名和输出句柄可能必须是两个不同的文件,这样才能编辑它,例如。specialfile.sh用于脚本,specialfile用于句柄

EN

回答 2

Unix & Linux用户

发布于 2013-08-03 18:41:38

可以创建一个名为FIFO (mkfifo <name>)的程序,然后执行以下操作:

代码语言:javascript
复制
mkfifo my-fifo
echo "testing 123" > my-fifo

在另一个壳中,请做:

代码语言:javascript
复制
dumb-program my-fifo

对于愚蠢的程序来说,FIFO看起来像一个文件(不是完全的,因为它是不可查找的)。这相当于使用这样的匿名管道:

代码语言:javascript
复制
echo "testing 123" | dumb-program /dev/stdin

或者在像这样的现代shell中使用进程替换:

代码语言:javascript
复制
dumb-program <(echo "testing 123")

我不确定设备节点,但在我看来,您似乎是以错误的方式处理这个问题。

票数 2
EN

Unix & Linux用户

发布于 2013-08-03 10:29:32

您可以在命令行的子subshell中执行cat:

代码语言:javascript
复制
$(cat specialfile)

然后,输出将由shell解释。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/85399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档