Chcę źródło mojego środowiska bash podczas wykonywania polecenia bash z ipython pomocą operatora !
, co pozwala mi dostęp do moich określonych funkcji bashwykonać polecenia bash z ipython
In[2]: !<my_fancy_bash_function> <function_argument>
obecnie ipython jest Sourcing sh
raczej niż bash
:
In[3]: !declare -F
sh: 1: declare: not found
Jak pozyskać bash
i ustawić moje ustawienia środowiska z ipython?
świetna odpowiedź, dzięki. Jaki, twoim zdaniem, byłby dobry sposób na ustawienie środowiska w zarodkowanym procesie, który pochodzi z implementacji '!' (Z linkami w twojej odpowiedzi)? Wykonując szybki "getto" test dowiązania symbolicznego/bin/bash do/bin/sh i wydając '! source ~/.bashrc && declare -F' nic nie daje, natomiast '! env && declare -F' poprawnie drukuje moje zadeklarowane zmienne, ale funkcje basha są nadal niedostępne ... jakiekolwiek pomysły, co się tam dzieje? – chris
W najnowszej wersji możesz użyć magii komórki %% bash, aby wykonać bash wieloliniowy. – Matt
Odkryłem coś niesamowitego ... możesz użyć prostych sztuczek ekspansji 'bash', aby rozwinąć zmienną zadeklarowaną w' python'! Na przykład 'rozszerzenie =". Txt "', po którym następuje '! Ls *" $ extension "' wypisuje wszystkie pliki '.txt'! –