Вот мой fabfilefabric: почему я не могу получить локальную («историю»), чтобы распечатать что-нибудь?
from fabric.api import local, task
@task
def tracking(suffix=""):
buffer_ = "*" * 40
print (buffer_)
local("whoami")
print (buffer_)
local("env | grep dn")
#this one comes out empty...
print (buffer_)
out = local("history")
print (buffer_)
Все печатает, как и следовало ожидать, за истории исключением:
****************************************
[localhost] local: whoami
jluc
****************************************
[localhost] local: env | grep dn
dn_cb=/Users/jluc/.berkshelf/cookbooks
dn_cc=/Users/jluc/kds2/chef/chef-repo/cookbooks
dn_khtmldump=/Users/jluc/kds2/out/tests/dump2static
dn_cv=/Users/jluc/kds2/chef/vagrant/ubuntu2
****************************************
[localhost] local: history
****************************************
Но ничего плохого в истории в командной строке ...
history | tail -5
613 history
614 fab -f fabfile2.py tracking
615 history | tail -5
616 cls
617 history | tail -5
Что дает? Добавление shell="/bin/bash"
тоже не помогло.
MacOs Sierra
Я пробовал как захват, так и bin/bash, и это не помогло. Но, только с ** историей ** это не работает. Мне не нужен захват, поскольку я использую ** ** ** перенаправление. 'subprocess.check_output (" history ")' также не работает. Поэтому я закончил работу непосредственно в функции bash, которая вызывает fab * и * history. –