我想从bash标准输入执行像python这样的脚本代码,因为我不想先将脚本写入文件。怎么办? 如果我想从bash标准输入运行python代码,如:
#!/usr/bin/env python
print 'hello world'
$ cat mycode.py | bash -s
但它不起作用。错误显示:
Warning: unknown mime-type for "hello world" -- using "application/octet-stream"
错误:没有这样的文件“hello world”
答案 0 :(得分:4)
但它不起作用。错误显示: 警告:“hello world”的未知mime-type - 使用“application / octet-stream”错误:没有这样的文件“hello world”
对于cource,bash不知道命令hello world
,系统建议安装一些东西。以下可以工作
python -c 'print "ls -l"' | bash
答案 1 :(得分:1)
作为变体,您可以使用与此方案类似的内容:
$ cat test.py
#!/usr/bin/python
import sys
if sys.version_info[0] == 2:
sys.stdout.write("ls -l")
$ python test.py | bash
итого 4
-rw-rw-r-- 1 miha miha 91 авг. 28 12:21 test.py
$ chmod +x test.py
$ ./test.py | bash
итого 4
-rwxrwxr-x 1 miha miha 91 авг. 28 12:21 test.py