Tôi muốn tìm nguồn môi trường bash của tôi khi thực hiện một lệnh bash từ IPython sử dụng toán tử !
, do đó cho phép tôi tiếp cận với chức năng bash định nghĩa của tôi:thực hiện lệnh Bash từ IPython
In[2]: !<my_fancy_bash_function> <function_argument>
hiện IPython là nguồn sh
thay hơn bash
:
In[3]: !declare -F
sh: 1: declare: not found
Làm cách nào để nguồn bash
và đặt cài đặt môi trường từ IPython?
trả lời tuyệt vời, cảm ơn. Điều gì, theo quan điểm của bạn, sẽ là một cách tốt để thiết lập môi trường trong quá trình sinh sản đến từ việc thực hiện '!' (Được liên kết đến trong câu trả lời của bạn)? Thực hiện kiểm tra 'ghetto' nhanh chóng của symlinking/bin/bash tới/bin/sh và phát hành '! source ~/.bashrc && declaration -F' không có gì, trong khi '! env && declaration -F' in chính xác các biến đã khai báo của tôi, nhưng các hàm bash vẫn không thể truy cập được ... bất kỳ ý tưởng nào đang diễn ra ở đó? – chris
Trên phiên bản gần đây, bạn có thể sử dụng phép thuật% bash cell để thực thi bash đa cấp. – Matt
Phát hiện một điều gì đó khá tuyệt vời ... bạn có thể sử dụng các thủ thuật mở rộng biến bash' đơn giản để mở rộng một biến được khai báo trong 'python'! Ví dụ 'extension =". Txt "' theo sau là '! Ls *" $ extension "' in tất cả các tập tin '.txt'! –