Назад | Перейти на главную страницу

Как может python os.system ([command]) обойти запись истории?

Я имею ввиду как смею Это? Эти два скрипта имеют разные записи в истории (по крайней мере, по команде history)

# echo "hello"

прямая команда в оболочке приведет к записи в истории, однако, если я выполню ее внутри python

# python
# import os
# os.system("echo 'hello'")

Однако второй способ выполнения сценария оболочки обходит запись истории. И могу ли я найти команду echo из python где-нибудь в Linux?

Это потому что history получает доступ к .bash_history файл. В bash_history попадают только команды, непосредственно выполняемые пользователем в оболочке.

Команды, выполняемые скриптами или другим программным обеспечением, по умолчанию не регистрируются.