编写一个 python 脚本来生成命令是可行的,并且命令在 bash 中执行,但它们没有输入到 .bash_history 中。我应该怎么做才能让这些命令显示在 .bash_history 中?我的 py 文件如下:-
import os
import sh
def main():
bashcommand = "top"
bashcommand1 = "ls"
bashcommand2 = "vi exp1.txt"
os.system(bashcommand)
os.system(bashcommand1)
os.system(bashcommand2)
main()
sh.cd('/root')
print(sh.pwd())
答案1
正如 Sami Laine 所评论的,os.system 使用的 shell 通常不是 bash。除此之外,它bash -c 'command'
不会写入 .bash_history。当然,您可以这样做:
import os
def runcommand(command):
with open(os.path.expanduser('~/.bash_history'), 'a') as f:
f.writelines([command])
os.system(command)