tick teclado spanish español backtick bash powershell cmd

bash - spanish - backtick teclado español



¿Cuál es el equivalente de cmd/powershell de back tick en bash? (3)

Redirigir el resultado del comando:

p.ej:

echo "Foo `./print_5_As.rb`"

repetiría "Foo AAAAA"


En CMD.EXE no hay un equivalente directo. Pero puede usar el comando FOR para lograr lo que quiere.

Haz algo como lo siguiente:

FOR /F "usebackq" %x IN (`./print_5_As.rb`) DO @echo Foo %x

o

FOR /F %x IN (''"./print_5_As.rb"'') DO @echo Foo %x

Es posible que tenga que establecer el delimitador en un valor diferente al predeterminado, según cómo se vea el resultado y cómo quiera usarlo. Más detalles disponibles en la documentación de FOR en https://technet.microsoft.com/en-us/library/bb490909.aspx


En Powershell, usas $ () para evaluar subexpresiones ...

Por ejemplo:

PS C:/> "Foo $(./print_5_As.rb)" Foo AAAAA


La sintaxis de PowerShell se basa en la sintaxis de POSIX ksh (y curiosamente no en ninguno de los idiomas de Microsoft, como CMD.EXE, VBScript o Visual Basic para Aplicaciones), por lo que muchas cosas funcionan más o menos igual que en Bash. En su caso, la sustitución del comando se hace con

echo "Foo $(./print_5_As.rb)"

tanto en PowerShell como en Bash.

Bash todavía es compatible con la forma antigua (backticks), pero PowerShell limpió la sintaxis y eliminó las construcciones redundantes, como las dos sintaxis de sustitución de comandos. Esto libera el backtick para un uso diferente en PowerShell: en POSIX ksh, la barra diagonal inversa se usa como carácter de escape, pero eso sería muy doloroso en PowerShell porque la barra diagonal inversa es el separador de componentes de ruta tradicional en Windows. Entonces, PowerShell usa el backtick (ahora no usado) para escapar.