제가 간단한 쉘스크립트를 만드는데요, 이 스크립트에서 내부적으로 어떤 프로그램을 실행하는데 이 프로그램이 사용자 입력을 필요로 합니다.(그냥 Enter 한번) 이걸 쉘스크립트 상에서 사용자가 입력한 것처럼 할 수 있을까요???
즐린
$ echo -e "\n" | program
---- 데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
if else를 이용하면 될것 같네요.
if [ $a -eq 1111] ; then echo hi else echo hi2 fi
입력한 값이 1111이 아니면 엔터값이 먹겠네요.
bash/zsh에서는 내장함수 read를 이용하면 됩니다.
~> read input test ~> echo $input test
OP의 상황에는 echo -e "\n"이 정답이겠군요.
----http://nohmad.tumblr.com/
제가 하고 싶은 상황은 다음과 같습니다. bash를 쓰고 있고요. 먼저 pro1.sh 라는 스크립트를 실행을 하면 사용자가 숫자 4개를 입력하게 되어 있습니다. read 로 각 숫자를 받아 오면 끝입니다.
이것을 여러번 하다 보니 헷갈리고 해서
RunPro.sh 파일에다가
#!/bin/bash ./pro1.sh 1 199 322 177 ./pro1.sh 2 5 23 19
이렇게 해 놓고 ./RunPro.sh를 샐행하면 숫자 4개입력 하는 것에서 멈춰서 안되는군요. 어떻게 하면 이게 될까요?
========================== 부양가족은 많은데, 시절은 왜 이리 꿀꿀할까요? ===================== "지금하는 일을 꼭 완수하자."
#!/bin/bash ./pro1.sh << EOF 1 199 322 177 EOF ./pro1.sh << EOF 2 5 23 19 EOF
man bash 후에 << 에 대해 삭펴보세요.
헉, 이렇게 빨리 친절한 답변을 주시다니 감사합니다. man page 다시 보고 혹시 미진한 부분이 생기면 다시 여쭙겠습니다. 거듭 감사드립니다.
<< 를 이용하는 방법 이외에 좀더 복잡한 Action이 필요하시다면, Bash에서 expect 구문을 이용하셔도 되구요, Perl의 Expect 모듈을 사용하셔도 됩니다.
네 갈길을 가라! 남이야 뭐라든!
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
Re: 쉘스크립트에서 사용자입력 흉내내기
expect를 이용하면 되느걸로 압니다.
즐린
Re: 쉘스크립트에서 사용자입력 흉내내기
$ echo -e "\n" | program
----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러
if else를 이용하면 될것 같네요.if [ $a -eq 111
if else를 이용하면 될것 같네요.
if [ $a -eq 1111] ;
then
echo hi
else
echo hi2
fi
입력한 값이 1111이 아니면 엔터값이 먹겠네요.
Re: 쉘스크립트에서 사용자입력 흉내내기
bash/zsh에서는 내장함수 read를 이용하면 됩니다.
OP의 상황에는 echo -e "\n"이 정답이겠군요.
----
http://nohmad.tumblr.com/
쉘에서 입력값을 받아 들일려면 어떻게 하면 좋을까요?
제가 하고 싶은 상황은 다음과 같습니다.
bash를 쓰고 있고요.
먼저 pro1.sh 라는 스크립트를 실행을 하면 사용자가 숫자 4개를 입력하게 되어 있습니다. read 로 각 숫자를 받아 오면 끝입니다.
이것을 여러번 하다 보니 헷갈리고 해서
RunPro.sh 파일에다가
#!/bin/bash
./pro1.sh
1 199 322 177
./pro1.sh
2 5 23 19
이렇게 해 놓고 ./RunPro.sh를 샐행하면 숫자 4개입력 하는 것에서 멈춰서 안되는군요. 어떻게 하면 이게 될까요?
==========================
부양가족은 많은데, 시절은 왜 이리 꿀꿀할까요?
=====================
"지금하는 일을 꼭 완수하자."
[code:1]#!/bin/bash./pro1.sh <<
man bash 후에 << 에 대해 삭펴보세요.
헉, 이렇게 빨리 친절한 답변을 주시다니 감사합니다.man page
헉, 이렇게 빨리 친절한 답변을 주시다니 감사합니다.
man page 다시 보고 혹시 미진한 부분이 생기면 다시 여쭙겠습니다.
거듭 감사드립니다.
==========================
부양가족은 많은데, 시절은 왜 이리 꿀꿀할까요?
=====================
"지금하는 일을 꼭 완수하자."
<< 를 이용하는 방법 이외에좀더 복잡한 Action이 필
<< 를 이용하는 방법 이외에
좀더 복잡한 Action이 필요하시다면,
Bash에서 expect 구문을 이용하셔도 되구요,
Perl의 Expect 모듈을 사용하셔도 됩니다.
네 갈길을 가라! 남이야 뭐라든!
댓글 달기