<< 를 사용하면됩니다.
쉘에서 <<의 의미는
바로 다음에 나오는 문자열로 시작하는 라인까지를
실행하는 명령에 대한 입력으로 사용하라는 뜻입니다.
예를 들어보면 다음과 같습니다.
실행하려는 프로그램은 target.sh
#!/bin/sh
echo "Passwd:"
read pass
echo
echo "Your password is $pass"
패스워드를 자동으로 입력해주는 run-target.sh
#!/bin/sh
target.sh <<ENDOFPASSWD
TypeYourSecretPassword
ENDOFPASSWD
run-target.sh을 실행해주면
TypeYourSecretPassword 라는 패스워드가 자동입력됩니다.
문제는 패스워드를 화일에 써야하므로 전혀 secret하지 않다는거죠
뭐 이리저리 짱구돌리면 피할수 있는 방법이 있겠지만.
: 어떤 응용프로그램을 자동으로 start가 되게 하고 싶은데요
: 다음과 같은 문제가 있습니다
: 응용프로그램을 실행하면 다음과 같이 됩니다
:
: [root@atlasresearchgroup bin]# /usr/local/INIpay/bin/mpayd -p 9000
: 관리자의 패스워드를 입력하세요.
:
:
: 여기서 패스워드를 입력해야 하는데요
: 자동으로 패스워드 입력이 되지 않으므로 자동 start를 할수 없습니다
: rc.local에 다음과 같이 하였습니다
:
: #!/bin/sh
: /bin/sh -c 'cd /usr/local/INIpay/bin ; ./mpayd -p 9000 '
:
: 이 다음에 어떻게 해주어야 하는지요
: shell을 이용해서 해주면 될것 같은데 안되네요
: 안되는 건가요?
: 아시는 분은 답변 바랍니다.