我正在使用pexpect来运行一些linux命令。我在命令中使用变量时遇到了麻烦。例如:
first_dir="/opt/dirA"
second_dir="/opt/dirB"
我想将dirA复制到dirB:
cmd="cp -rp " +first_dir +" " +second_dir
print("cmd is ",cmd)
s.sendline(cmd)
它给出了一个错误:`/ opt / dirA'之后缺少目标文件操作数 但是打印输出正确(cp -rp / opt / dirA / opt / dirB)并且以下命令有效 s.sendline(" cp -rp / opt / dirA / opt / dirB")
有人能看出我做错了吗?
答案 0 :(得分:1)
您的first_dir
和second_dir
字符串不是。试试first_dir = "/opt/dirA"
。
答案 1 :(得分:0)
秘诀是使用os.environ数组。 你可以在这里找到一个例子:
#!/usr/bin/python
import os
first_dir = os.environ["first_dir"]
second_dir = os.environ["second_dir"]
如您所见,该脚本将Linux环境变量first_dir和second_dir读入两个同名的Python变量中。