Я новичок в Linux и сценариях оболочки. Я хочу подключиться к локальному хосту и взаимодействовать с ним.
#! /bin/bash
(exec /opt/scripts/run_server.sh)
когда я запускаю этот скрипт bash, он начинает прослушивать порт.
Listening on port xxxxx
Теперь я хочу выполнить эту команду «telnet localhost xxxxx». Я пробовал что-то вроде этого:
#! /bin/bash
(exec /opt/opencog/scripts/run_server.sh)&&
telnet localhost xxxxx
Он все еще прослушивает порт. Но я думаю, что вторая команда не работает. Я ожидаю другое окно, показывающее, что оно подключается вот так.
vishnu@xps15:~$ telnet localhost xxxx
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
server>
Причина, по которой я выполняю их как скрипт, заключается в том, что автоматически на сервере мне нужно выполнить какой-то процесс, выполнив определенные команды, такие как «scm», «parse» и т. д......
vishnu@xps15:~$ telnet localhost xxxx
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
server>scm
Entering scheme shell; use ^D or a single . on a line by itself to exit.
guile> (parse "i eat apple")
Мне приходит много текста. Вручную я не могу выполнить эту команду синтаксического анализа для каждого предложения. поэтому я хочу автоматизировать. Поэтому мне нужно написать скрипт для подключения к серверу и взаимодействия.
Любые ориентиры. Наконец, как взаимодействовать/отправлять команды в эту коварную оболочку?
(exec)
в сценариях оболочки обычно не требуется. Вы делаете это из-за особого случая или потому, что привыкли к этому cmd наpython
или другом языке? Но даже если вы уберете это, этот пример мало что даст. Заставьте все работать из командной строки. Может быть, вам нужно запустить сервер в фоновом режиме с/path/to/server -opts x y z file &
? Затем посмотрите, отвечает ли он на порту на соединение telnet. Удачи. - person shellter   schedule 07.11.2016