2013-05-25 3 views
3

는이 같은 bash는 명령을 실행하는 방법이있다 명령이 완료되었습니다.이 경우 완료하려면 Tab 프레스를 bash로 전달하는 방법이 있습니까? 얻을 탭에 이런 식으로 기자를 통과 할 수있는 방법이 있다면 내가 단위 테스트 강타 완료 할 필요가</p> <pre><code>echo ls | bash </code></pre> <p>, 나는 curisous 해요 :

# This doesn't work, but I think you get the idea 
echo chromi$'\t' | bash 

가능합니까? 또는 단위 테스트 bash 완성에 다른 방법을 제안 할 수 있습니까?

답변

5

bash와 같은 방식으로 완료를 생성 할 수있는 내장 명령 인 compgen을 살펴보십시오.

$ compgen -c unam 
uname 

또는 대화식 모드에서 -i으로 bash를 실행하십시오. 그런 다음 Tab -completion을 수행합니다. 여기

$ bash -i <<< $'unam\t' 
$ bash -i <<< $'unam\t' 
$ uname 
Darwin 
$ exit 
+0

감사합니다,'$ bash는 -i <<< $ 'UNAM \ t'' 내가 필요 정확히이다. – gvlasov

3
$ printf 'makeinf\t' | bash --norc -i 
[[email protected] ~]$ makeinfo 
[[email protected] ~]$ exit 

작품. 프롬프트가 필요하지 않은 경우뿐만 아니라 PS1을 설정

$ printf 'makeinf\t' | PS1='' bash --norc -i 
makeinfo 
exit