我想用Python脚本在我的Macbook Pro上删除bash历史记录。
我知道两种用bash shell删除bash历史记录的方法:
1.rm ~/.bash_history
2.history -c
但是这些命令在使用subprocess执行Python脚本时不起作用:
1.rm ~/.bash_history
import subprocess
subprocess.call([‘rm’, ‘~/.bash_history'])
错误:
rm: ~/.bash_history:没有该文件或目录。
2. history -c
import subprocess
subprocess.call(['history', '-c'])
错误:
文件 "test.py",行 8,在 subprocess.call(['history', '-c']) 文件 "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",行>524,在call函数中, 返回Popen(*popenargs, **kwargs).wait() 文件 "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",行>711,在init函数中, errread,errwrite) 文件 "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py",行>1308,在_execute_child函数中, raise child_exception
有什么想法吗?
history
命令,并且不产生任何输出是不可能的。简单的原因是你没有在__同一个__shell环境中执行history -c
和history -w
命令。 - devnull