0

朋友们,

我创建了一个用于在服务器上存储变量的 python 脚本。

当我运行以下它运行正常

if server == '11':
    cmd1='p -ssh root@67.233.4.146 -pw "goorba12345"'
    os.system(cmd1)

这运行良好,我可以打开服务器。此命令打开 putty 并将我登录到服务器上。

但是如果密码有'|' 然后它给了我错误:

if server == '11':
    cmd1='p -ssh root@67.233.4.147 -pw "||||||goorba12345"'
    os.system(cmd1)

'goorba12345' 不是内部或外部命令、可运行程序或批处理文件。

我在 Windows 上并从此脚本打开腻子会话。非常感谢任何帮助。请记住,这将在 DOS 上运行命令。我曾尝试使用 bash 转义序列 ^,但没有奏效。

4

2 回答 2

2

'|' 正在被操作系统解释,因此它试图将 p 命令的输出通过管道传递给 goorba12345 命令。你需要逃避'|' 带有 '^' 字符:

cmd1='p -ssh root@67.233.4.147 -pw "^|^|^|^|^|^|goorba12345"'
于 2013-09-01T16:21:05.937 回答
1
if server == '11':
    cmd1='p -ssh root@67.233.4.147 -pw "^|^|^|^|^|^|goorba12345"'
    os.system(cmd1)
于 2013-09-01T16:15:46.353 回答