2013-12-14 2 views
1

여기 내 구성에는 약간의 차이가있을 수 있습니다. Mac OS X Mountain Lion에 있지만 Homebrew를 통해 설치된 coreutils를 사용하고 있습니다.Coreutils가있는 Mac OS X의 my .bashrc 또는 .bash_profile의 선언을 사용하여 IPython의 Bash 다중 라인 호출에서 색상 출력을 얻으려면 어떻게해야합니까?

파이썬 프로그램을 통해 grepping 할 때 사용하는 .bash_profile에 몇 가지 기능이 있습니다.

function greppy() { find . -name '*.py' -exec grep -nHr --color "$1" {} \; ; } 
function grepcy() { find . -name '*.pyx' -exec grep -nHr --color "$1" {} \; ; } 

내가 여러 bash는 호출 IPython에서 그들을 호출하려면 다음

In [6]: %%bash 
    ...: . ~/.bash_profile 
    ...: greppy triangle 
    ...: 

이 제대로 기능을 실행을하지만, 그렙 검색어 색상하지 않습니다. 나뿐만 아니라 지적했습니다 제대로

In [10]: %%bash 
    ....: source ~/.bash_profile 
    ....: ls --color 
    ....: 

색상 출력하지만, 호출 : 항상 내 .bash_profile에에서 LS -a --color를 사용하는 별명이

In [11]: %%bash 
    ....: source ~/.bash_profile 
    ....: la 

은하지 않습니다.

내 .bash_profile은 dircolors를 호출하여 ls (색상을 py 및 pyx로 다르게하고 .pyc 색상을 상대적으로 회색으로 만들도록 .dir_colors 구성을 읽음)도 읽을 수 있습니다. 그들은 덜 눈에 're니다). 추가 상호 작용이 있는지 확실하지 않습니다.

제대로 작동하는 작업 컴퓨터에서 구형 (.ipythonrc 별칭) 구성에 .bashsrc 및 IPython 별칭을 설정했습니다. 저는 가정용으로 MacBook Air에서 똑같은 작업을하려고합니다. 이것은 파이썬 개발의 내 전체 ipython/bash/vim circle에서 매우 중요한 부분은 아니지만 필자가 할 수있는 한 내 환경에서 사용할 수있는 작은 세부 사항에 대해서는 충분히 까다 롭다.

+0

나는 '%% bash' 셀 마술을 통해 ls를 호출하면 당신과 똑같은 행동을하고 있습니다. 버그 인 것 같습니다. –

답변

0

추한의 종류,하지만 당신은 저 같이 정말 출력 색상을 원하는 경우, 여기에 떠들썩한 파티와 zsh을 (보너스)을위한 가장 좋은 건입니다 :

In [10]: !bash -c 'source ~/.bash_profile; greppy searchterm' 

zsh을 :

In [10]: !zsh -c 'source ~/.zshrc; greppy searchterm' 

하고 별칭을 정의 할 수 있습니다 그것을 할이 다른 사람에게 도움이 될 수

%alias greppy zsh -c 'source ~/.zshrc && greppy %s' 

희망!