Hoy estaba siguiendo algunas instrucciones para instalar un software en Linux. Había un script que debe ejecutarse primero. Establece algunas variables de entorno.Cuál es la diferencia entre "./somescript.sh" y ". ./somescript.sh"
La instrucción me dijo que ejecutara . ./setup.sh
, pero cometí un error al ejecutar ./setup.sh
. Entonces el env no estaba configurado. Finalmente noté esto y procedí.
Quiero saber la diferencia entre estos dos métodos de invocación de un script. Soy completamente nuevo en Linux, así que sea lo más elaborado posible.
FYI - la gente que escribe esas instrucciones probablemente debería haberle pedido que escriba 'source./Setup.sh' en vez de'. ./setup.sh' para que sea menos ambiguo; el error que cometiste es muy común. –
@Charles Duffy Gracias por señalar esto.Sí, las instrucciones son para uso interno, así que supongo que están destinadas a gurús. – zihaoyu
'fuente' es solo Bash, mientras que' .' es portátil para Bourne shell. Si las instrucciones no son específicas de Bash, no puede usar 'fuente' aunque sería más legible. – tripleee