Você marcou sua pergunta com [bash]. Você não escreve um script para bash
ou sh
ou qualquer coisa, nem mesmo remotamente como o shell Bourne. Os scripts de lote do Windows geralmente são executados no shell cmd.exe
, um descendente de COMMAND.COM
do MS-DOS e possuem uma sintaxe completamente diferente.
Em particular, %name%
, não $name
, é a sintaxe das variáveis nos scripts em lote do Windows e do MS-DOS.
echo IP is %ip%
Enquanto você está nisso:
for /F "tokens=13" %%i in ('ipconfig | findstr IPv4 | findstr 172') do (