Я ищу, чтобы сделать что-то вроде следующей работы в однострочной оболочке.Как передать результат локального `curl` в командной строке на удаленный сервер в одной строке?
curl -s icanhazip.com | ssh [email protected] 'php /path/to/script.php "[PASS_IP_HERE]"'
Мне нужно передать местный IP-адрес удаленному серверу, предпочтительно в одной строке.
Сегодня я делаю это так:
curl -s icanhazip.com // manually copy result
ssh [email protected] 'php /path/to/script.php "[PASTE_RESULT_HERE]"'
Предполагая, что локальный IP является 1.2.3.4
, и удаленный IP является 5.6.7.8
, то желаемый результат ближе к:
> curl -s icanhazip.com
1.2.3.4
> ssh [email protected] 'php /path/to/script.php "1.2.3.4"'
// How can I pass this dynamically? ---^
Ничего себе. Я решил, что подстановка команды будет выполняться на удаленном сервере в вашем примере. Поэтому, если мой локальный IP был «1.2.3.4», а мой удаленный IP был «5.6.7.8», вы говорите, что подстановка команды передала бы «php /path/to/script.php» 1.2.3.4 «» на удаленный сервер? Круто. – Ryan
Я не пытался подменить команду, потому что я ожидал, что он передаст IP-адрес удаленного сервера вместо локального IP-адреса. Результат в php /path/to/script.php 5.6.7.8 "' (если '5.6.7.8' был IP-адресом удаленного сервера). – Ryan
Я еще не тестировал его. Что вы порекомендуете? – Ryan