2013-02-23 2 views
0

python manage.py shell에서 테스트 할 때 입력 내용을 저장하고 싶습니다. 기본적으로 나는 쉘 쉘 >>>에 들어가는 작은 셸 스크립트를 가지고 있지만, 내가 원하는 때마다 그들을 타이핑 할 필요가 없도록 내 views.py 스크립트에서 가져 오기 호출을 자동으로 푸시하고 싶습니다. 뭔가 시험해 봐. 쉘 스크립트에서 작성하려고 시도했지만 파이썬 셸로 전달되지 않은 것으로 보입니다.쉘 스크립팅 파이썬 쉘 가져 오기

여기까지 제가 지금까지 가지고 있습니다. 나는이 일이하고 싶은 무엇

#!/usr/local/bin/bash 
python ~/path/to/manage.py shell 

import datetime 
from django.shortcuts import render_to_response 
from mymodel.models import * 
from myapp.forms import * 
... and so on 

모든 수입 라인이 파이썬 쉘에 밀려을 위해 내가/I 쉘에서 디버깅 할 때마다 복사 붙여 넣기 입력 할 필요가 없습니다 것입니다.

+0

3 분, 3 답. 금요일 밤 좋은 반응 속도. –

+0

진정한 괴짜들만이 금요일 늦게 나옵니다. – Brandon

답변

2

파일에 prequel을 넣으십시오. 여기에서는 파일 이름이 prequel이라고 가정합니다.

cat prequel - | python ~/path/to/manage.py shell 

cat을 병합 파일을하지만 파일로 표준 입력을 처리 할 수있다, 그래서 우리는 쉘에 그 연결 배관 다음 전편 다음 표준 입력을 연결하고있어 : 그럼 당신은 다음처럼 bash는 스크립트를 조정할 수 있습니다 .

+0

니스. 나는 당신이 그것을하기 위해'cat'을 사용할 수 있다는 것을 몰랐습니다. – Brandon

+0

나는 이것이 효과가 있다고 생각한다. 나는'>>>'가 나타나지 않기 때문에 나는 생각한다. 그러나 나는 무언가를 타이핑 할 때 나는 실제로 쉘 속에있다. –

+0

@BrandonBertelsen : 나는 표준 입력이 tty라는 것을 감지하지 못하면'>>>'를 출력하지 않을 것이라고 생각한다. 'cat'의 파이프 ('cat'가 tty로부터 입력을 받았다고하더라도)는 여전히 파이프이고 tty가 아니기 때문에'>>>'를 출력하지 않습니다. 나는 이것이 Django 확장 기능이 더 나은 이유라고 생각한다. (그것은 표준 입력으로 엉망이없이 스스로 실행할 수 있습니다.) – icktoofay