Irssi에 Bash 사용

Irssi에 Bash 사용

좋습니다. Irssi를 열고 자동으로 freenode에 연결하는 쉘 스크립트를 작성 중입니다. ~/.irssi/config에서 파일을 편집해야 합니까, 아니면 /connect irc.freenode.net을 입력하는 것을 시뮬레이션할 수 있는 방법이 있습니까? echo, send 및 Expect를 사용했지만 작동하지 않았습니다. 지금까지 내가 가지고 있는 코드는 다음과 같습니다.

irssi
echo "/connect irc.freenode.net"

답변1

irssi는 -c애플리케이션이 시작될 때 연결할 서버를 지정할 수 있는 스위치를 제공합니다. 에서irssi의 매뉴얼 페이지:

-c, --connect=SERVER
    connects to SERVER

따라서 다음 중 하나를 사용할 수 있습니다.

$ irssi -c irc.freenode.net
$ irssi --connect=irc.freenode.net
$ irssi --connect irc.freenode.net

echo작동하지 않는 이유 는 irssi의 표준 입력에 연결되어 있지 않기 때문입니다. 기본적으로 일어나는 일은 다음과 같습니다.

  • irssi를 시작하고, 서버에 연결하고, 약간의 채팅을 하고, 떠납니다.
  • irssi가 닫히면(프로세스가 종료됨) 텍스트 echo가 인쇄됩니다.

다음을 사용하면 동일한 결과를 얻을 수 있습니다.

$ irssi ; echo "Hello"

이제 우려되는 한 expect이는 아마도 irssi가 ncurses 기반 클라이언트라는 사실 때문일 것입니다. ncurses는 입력과 출력이 조작되는 방식을 재정의하므로 expect어쨌든 프로세스와 통신할 수 없을 가능성이 매우 높습니다. 또한 stdoutirssi가 해당 스트림에서 많은 정보를 전송하므로 구체적 으로 기대할 수 있는 것은 없습니다 .

  • 파란색 헤더입니다.
  • -c몇 개의 빈 줄 (연결 로그)을 사용한 경우 일부에는 텍스트가 포함되어 있습니다 .
  • 텍스트가 포함된 또 다른 파란색 선입니다.
  • 프롬프트.
  • ...

뿐만 아니라:

[(status)] _

다음과 같이 응답할 수 있습니다.

/connect irc.freenode.net

관련 정보