csh stdin 到 Python stdin?

发布于 2024-12-02 03:17:22 字数 204 浏览 1 评论 0原文

如何将 csh 脚本的 stdin 重定向到 python 脚本的 stdin?

我有一个用 csh 编写的 cgi 脚本,该脚本在 Solaris 计算机上运行。这个 csh 脚本是一个从 stdin 读取的 python 脚本的包装器(我知道,在 csh 中编写脚本很糟糕,但在这种情况下我被迫这样做)。

感谢您的帮助! (对这个 n00b 问题表示抱歉!)

How do you redirect the stdin of a csh script to the stdin of a python script?

I have a cgi script I'm writing in csh that runs on a Solaris machine. This csh script is a wrapper to a python script that reads from the stdin (I know, scripting in csh is bad but I'm forced to in this case).

Thanks for help! (And sorry for the n00b question!)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

逐鹿 2024-12-09 03:17:22

test.csh

#!/bin/env csh
python test.py

test.py (参见这个问题

#!/bin/env python
import fileinput

if __name__ == '__main__':
    print "Hi. printing stdin"
    for line in fileinput.input():
        print line

    print "fin"

然后test.csh 的标准输入被传递到 test.py 正如亨宁所说

echo "this is stdin" | csh test.csh

test.csh

#!/bin/env csh
python test.py

test.py (see this question)

#!/bin/env python
import fileinput

if __name__ == '__main__':
    print "Hi. printing stdin"
    for line in fileinput.input():
        print line

    print "fin"

Then the stdin to test.csh is passed in to test.py as Henning said.

echo "this is stdin" | csh test.csh
脱离于你 2024-12-09 03:17:22

你不需要做任何事情。
默认情况下,从 shell(例如 csh)启动的命令(例如 Python 脚本)将继承 shell 的 stdin(以及 stdout、stderr),除非您主动采取措施来阻止它。

You don't need to do anything.
Commands (such that a Python script) that you start from a shell (such as csh) will inherit the shell's stdin (and stdout, stderr) by default unless you actively do something to prevent it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文