Почему я получаю сообщение об отказе в соединении, когда я подключаюсь к порту 2194 через telnet?

В

. path/to/script at least one argument

Как уже говорили другие, в зависимости от оболочки эти дополнительные аргументы либо игнорируются (Bourne, Almquist ), либо заменяют текущий набор позиционных параметров ($@, $1, $2... )для интерпретации этого скрипта (большинства других оболочек ). POSIX не определяет поведение, когда в .передаются дополнительные аргументы. В этом случае между оболочками также существуют некоторые различия в отношении того, останутся ли какие-либо изменения в позиционных параметрах (, как и в set a b), сделанные в сценарии, после завершения ..

В:

. path/to/script

Однако поведение указано. Позиционные параметры должны , а не изменяться, поэтому для интерпретации скрипта они останутся такими же, как и раньше.

Если вы хотите, чтобы позиционные параметры были пустым списком во время интерпретации этого скрипта, вам нужно предварительно сбросить его или использовать функцию:

set -- # or shift "$#"
. path/to/script

(хотя позиционные параметры теряются ). Или используйте функцию:

dot() { file=$1; shift;. "$file"; }
dot path/to/myscript

Во время выполнения команды .позиционные параметры будут параметрами функции. После shiftэто будут аргументы, переданные функции, за вычетом первого, поэтому в приведенном выше примере пустой список; но это означает, что с помощью этой функции вы можете переносимо передать произвольный список позиционных параметров исходному сценарию, как в:

dot path/to/myscript extra args

Где этиextraargsбудут доступны как $1и $2в исходном скрипте.

А если myscriptвызовет setдля изменения списка позиционных параметров, это повлияет только на позиционные параметры функции, и эти изменения не сохранятся после возврата из функции.

0
07.05.2020, 17:29
1 ответ

Я думаю, что вы разрешили неправильный порт в ufw:, вы пытаетесь использовать порт 2194 для telnet, и вы разрешили порт 1194 в соответствии с выводом ufw show status, который вы опубликовали.

1
28.04.2021, 23:15

Теги

Похожие вопросы