使用bash echo命令输入python one liner

我正在尝试使用echo输入一个字符串到一个内核,然后在字符串上执行Caeasar的密码.

我的导师给我的一个例子就是这个.

~ $echo "Hello Holly." | python -c "import sys; [print(line) for line in sys.stdin]"

输出结果假设为:Hello Holly.

我怎么在我得到的命令中输入:

File "<string>", line 1
 import sys; [print(line) for line in sys.stdin]
                  ^
SyntaxError: invalid syntax

如果有人可以向我指出错误,我将不胜感激.我在Centos 6上使用Python 2.6.

谢谢.

解决方法:

在Python 2中,print是一个语句,而不是一个函数.试试这个:

echo "Hello Holly." | python -c "import sys; print [line for line in sys.stdin]"

或者,您可以使用以下内容来打印纯文本(感谢@mgilson):

echo "Hello Holly." | python -c "import sys; print ' '.join([line for line in sys.stdin])"
上一篇:非交互状态下修改用户密码


下一篇:如何在输入特定密钥后立即退出C程序?