bash 스크립트 안에 짧은 파이썬 스크립트 텍스트를 삽입하고 싶습니다. 내 말은, .bash_profile
입니다. 그런 일을하는 가장 좋은 방법은 무엇입니까?bash 스크립트 안에 짧은 파이썬 스크립트 포함하기
지금까지이 솔루션은 -c
옵션을 사용하여 파이썬 인터프리터를 호출하고 stdin
에서 읽고 어떤 exec
에 인터프리터를 알리는 것입니다. 거기에서, 나는 내 대화 형 프롬프트에서 사용하는 텍스트를 처리 할 수 있도록 다음과 같은 간단한 도구를 구축 할 수 있습니다 :
function pyexec() {
echo "$(/usr/bin/python -c 'import sys; exec sys.stdin.read()')"
}
function traildirs() {
pyexec <<END
trail=int('${1:-3}')
import os
home = os.path.abspath(os.environ['HOME'])
cwd = os.environ['PWD']
if cwd.startswith(home):
cwd = cwd.replace(home, '~', 1)
parts = cwd.split('/')
joined = os.path.join(*parts[-trail:])
if len(parts) <= trail and not joined.startswith('~'):
joined = '/'+joined
print joined
END
}
export PS1="\h [\$(traildirs 2)] % "
이 방법은있을 수 있습니다.
필자의 bash 스크립팅 기술은 매우 초보적이므로, 배쉬 인터프리터의 관점에서 보면 어리석은 짓을하고 있는지 듣고 싶다.
실제로 무엇을하려고합니까? 내가보기에, 파이썬은 실제로 필요하지 않습니다. 쉘을 사용하여 대부분의 작업을 수행 할 수 있습니다. – ghostdog74
@ ghostdog74 : 내가 말하는 것보다 더 깊은 것은 아무것도 없다. 필자는 bash 프로그래머보다 훨씬 뛰어난 파이썬 프로그래머이며, IMO 파이썬은 일반적으로 bash보다 더 강력합니다. 파이썬에서 bash 스크립트에 사용 된 기능을 구현하는 것이 편리 할 수도 있고 때로는 외부 파일에 의존하지 않는 경우도 있습니다. 나는 마침내 tcsh에서 bash (15 년 후)로 바뀌고 있으며 쉘을 나의 유언/선호도로 굽히려고합니다. –
-1 : 단순히 .py 모듈 파일을 만드는 것이 어떨까요? 왜 더 나은 해결책이 (보통) 쉘을 완전히 사용하지 않을 때 파이썬을 쉘 스크립트로 강제할까요? –