Я хочу источник моего Баша среды при выполнении команды Баша от IPython с помощью оператора !
, что позволяет мне доступ к моим определенным функциям Баша:выполнить команду Bash из IPython
In[2]: !<my_fancy_bash_function> <function_argument>
В настоящее время IPython является Sourcing sh
скорее чем bash
:
In[3]: !declare -F
sh: 1: declare: not found
Как источник bash
и установить свои параметры среды от IPython?
отличный ответ, спасибо. Что, на ваш взгляд, было бы хорошим способом настройки среды в порожденном процессе, который исходит из реализации '!' (Связанного с вашим ответом)? Выполнение быстрого теста «гетто» symlinking/bin/bash to/bin/sh и выдача '! source ~/.bashrc && declare -F' ничего не дает, тогда как '! env && declare -F' правильно выводит мои объявленные переменные, но функции bash все еще недоступны ... любые идеи, что там происходит? – chris
В последней версии вы можете использовать магию клеток %% bash для выполнения многострочного bash. – Matt
Обнаружено что-то совершенно удивительное ... вы можете использовать простые трюки расширения 'bash' для расширения переменной, объявленной в' python'! Например, 'extension =.. Txt", за которым следует '! Ls *" $ extension "' печатает все '.txt' файлы! –