Как убрать команды, выполненные через pexpect, из истории входа в bash - PullRequest
0 голосов
/ 30 апреля 2019

Я использую pexpect для удаленного входа на какой-либо компьютер и выполнения некоторых команд. Мне нужно убрать эти команды из журнала истории bash этого компьютера. Мне удалось удалить команды, поставив перед командами пробел (типичный подход: p), но в нем все еще есть некоторые оставшиеся строки журнала, напечатанные библиотекой. Я должен удалить это также. Существует ли какая-либо конфигурация на уровне библиотеки для удаления команд, зарегистрированных в автоматическом режиме?

if not (hostname or username or password or commands):
            logging.debug(
                "Skip running remote commands args are empty")
            return None
        from pexpect import pxssh
        results = []
        server = pxssh.pxssh()
        server.login(hostname, username, password)
        for command in commands:
            server.sendline(command)  # run a command
            server.prompt()  # match the prompt
            output = server.before
            result = output.replace(command, '').strip()
            results.append(result)
        server.logout()
        return results
// bash history output
 1966  29/04/19 14:14:17 unset PROMPT_COMMAND
 1967  29/04/19 14:14:17 PS1='[PEXPECT]\$ '
 1968  29/04/19 14:14:17 exit
 1969  29/04/19 15:10:27 unset PROMPT_COMMAND
 1970  29/04/19 15:10:27 PS1='[PEXPECT]\$ '
 1971  29/04/19 15:10:28 exit
 1972  29/04/19 15:14:58 unset PROMPT_COMMAND
 1973  29/04/19 15:14:59 PS1='[PEXPECT]\$ '
 1974  29/04/19 15:14:59 exit
 1975  29/04/19 16:10:47 unset PROMPT_COMMAND
 1976  29/04/19 16:10:47 PS1='[PEXPECT]\$ '
 1977  29/04/19 16:10:47 exit
 1978  29/04/19 16:15:40 unset PROMPT_COMMAND
 1979  29/04/19 16:15:40 PS1='[PEXPECT]\$ '
 1980  29/04/19 16:15:40 exit
 1981  29/04/19 17:11:08 unset PROMPT_COMMAND
 1982  29/04/19 17:11:08 PS1='[PEXPECT]\$ '
 1983  29/04/19 17:11:08 exit
 1984  29/04/19 17:16:24 unset PROMPT_COMMAND
 1985  29/04/19 17:16:24 PS1='[PEXPECT]\$ '
 1986  29/04/19 17:16:25 exit
 1987  29/04/19 18:11:28 unset PROMPT_COMMAND
 1988  29/04/19 18:11:28 PS1='[PEXPECT]\$ '
 1989  29/04/19 18:11:28 exit
 1990  29/04/19 18:17:22 unset PROMPT_COMMAND
 1991  29/04/19 18:17:22 PS1='[PEXPECT]\$ '
 1992  29/04/19 18:17:23 exit
 1993  29/04/19 19:11:50 unset PROMPT_COMMAND
 1994  29/04/19 19:11:50 PS1='[PEXPECT]\$ '
 1995  29/04/19 19:11:51 exit
 1996  29/04/19 19:18:04 unset PROMPT_COMMAND
 1997  29/04/19 19:18:04 PS1='[PEXPECT]\$
...