Как присвоить вывод кошки сценария удара к переменной в другом сценарии

Scriptonaut, вероятно, Ваша проблема не имеет никакого отношения к Samba, но имеет отношение к перенаправлению портов / NAT. Если у Вас есть свое обслуживание Samba компьютер Debian в локальной сети позади маршрутизатора, Вам нужен в настроенный к запросам о переводе к некоторым его портам к Вашей беговой дорожке Samba:

enter image description here

Во-первых, я скажу, как исходящие соединения работают с маршрутизатором. Когда 2 машины говорят через TCP/IP, каждая машина (исходная машина и целевая машина) обращена с парным IP/номером порта, таким образом, соединение определяется 2 парами: исходный IP/номер порта и целевой IP/номер порта.

При открытии вкладки в Mozilla и Google доступа на 192.168.1.2 машинах это передает некоторые пакеты IP Маршрутизатору с исходным адресом себя IP=192.168.1.2 и произвольный исходящий номер порта TCP, который это выделило для той вкладки браузера (как 43 694) и просит, чтобы маршрутизатор передал это, пакеты к машине Google с определенным IP на 80 портах той машины, для порождения 80 стандартный порт для поступления http соединения (Вы видите список стандартных портов TCP в /etc/services файл на Linux). Маршрутизатор выделяет собственный порт наугад (e.g.12345), заменяет исходную пару IP/порта в этом пакеты с ее собственным IP WAN (74.25.14.86) и портом 12345 и помнит, что, если это получает ответ на порте 12345 от Google, это должно автоматически возвратить тот ответ на 192.168.1.2, порт 43694.

Теперь, что происходит, когда внешняя машина хочет получить доступ к Вашему серверу?

Когда Вы пытаетесь получить доступ к своему серверу Samba от внешней машины, он отправляет пакеты IP в Ваш IP=74.25.14.86 WAN, порт 22 из него (потому что, 22 стандартный порт TCP для слушания соединений SSH, Вы видите список стандартных портов TCP в /etc/services файл на Linux). Ваш Маршрутизатор получает это пакеты. По умолчанию брандмауэры на маршрутизаторах настроены для блокирования всех входящих соединений с любым портом, если не было никакого исходящего соединения, связанного с тем портом (так при доступе к Google в предыдущем случае маршрутизатор не заблокировал ответ от Google до порта 12345 из себя, вызвал его, помнил, что 192.168.1.2 инициированных соединения с Google и ответ от Google должны произойти для портирования 12345). Но это заблокировало бы попытки инициировать соединения от внешнего мира до порта 22 из него, порт причины 22 не был отображен ни для каких соединений, поступающих от LAN.

Так, что необходимо сделать, должен настроить маршрутизатор для передачи всех соединений с его портом 22 от внешней стороны до порта 22 из 192.168.1.2. Это может быть сделано в веб-интерфейсах аппаратных маршрутизаторов, обычно пункт меню, в котором Вы нуждаетесь, называют "Перенаправлением портов" или "NAT - преобразование сетевых адресов".

32
27.01.2015, 22:39
2 ответа
var=$( cat foo.txt )

будет хранить вывод cat в переменной var.

var=$( ./myscript )

будет хранить вывод myscript в той же переменной.

42
27.01.2020, 19:37

Используйте двойные кавычки. Попробуйте это

var="$(cat foo.txt)"
4
27.01.2020, 19:37

Теги

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