
나는 이와 같은 간단한 작업을 수행하는 blah라는 BASH 스크립트를 만들었습니다(아래 참조).
#./blah -x "bindas"
hello bindas
아래 예와 비슷한 동적 변수가 있는 xinetd를 사용하여 스크립트를 실행하고 싶습니다.
#telnet localhost 809 "bindas"
hello bindas.
나는 그것을 텔넷과 함께 사용하지 않을 것입니다. 실제로 다른 응용 프로그램이 809 포트에서 이 서버와 통신을 시도할 것입니다. 인수를 취하도록 xinetd 파일을 어떻게 정렬할 수 있나요? 나는 server_args가 매개변수를 취할 수 있다는 것을 알았지만 이와 같은 것은 어떻습니까? 이것이 작동합니까?
# This file is being maintained by Puppet.
# DO NOT EDIT
service cont_blah
{
port = 809
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
group = root
groups = yes
server = /usr/local/bin/blah
server_args = -x $1
}
답변1
아니요, 그건 작동하지 않습니다.
TCP 소켓을 통해 수신된 입력은 xinetd에 의해 해석되지 않으므로 스크립트에 명령줄 인수로 전달될 수 없습니다. 귀하의 스크립트는 표준 입력으로 수신된 모든 데이터를 읽어야 합니다. 예:
#!/bin/bash
read name
echo "Hello $name"