Como posso obter a entrada de alguns comandos em .bash_history através de um script em centos?

0

escrever um script python para gerar comandos está funcionando e os comandos estão sendo executados no bash, mas eles não estão sendo inseridos em .bash_history.O que devo fazer para que esses comandos sejam mostrados em .bash_history? meu arquivo py é o seguinte: -

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())
    
por Ishita 04.03.2016 / 08:37

1 resposta

0

Como Sami Laine comentou, o os.system usa um shell que muitas vezes não é bash. Além disso, bash -c 'command' não escreve para .bash_history. Você poderia, é claro, fazer algo assim:

import os
def runcommand(command):
    with open(os.path.expanduser('~/.bash_history'), 'a') as f:
        f.writelines([command])
    os.system(command)
    
por 09.03.2016 / 03:43