Diferença entre 3 comandos que são usados para executar o shell script? [duplicado]

2

Quais são as diferenças específicas entre os comandos listados abaixo?

./<scriptname>
. <scriptname>
bash <scriptname>

Alguém pode explicar as diferenças de palavras simples, por favor?

    
por chayanupadhyay 06.12.2012 / 07:16

1 resposta

1

./<scriptname> executa <scriptname> em um processo filho e aguarda a saída dele.

. <scriptname> executa <scriptname> no mesmo processo; as razões pelas quais isso é usado geralmente permitem que <scriptname> modifique o ambiente e execute ações adicionais sem o custo do recurso de gerar um novo processo.

bash <scriptname> diz ao bash para executar <scriptname> . Se <scriptname> tiver um shebang com o caminho para bash ( #!/bin/bash ) no topo, ele terá o mesmo efeito que apenas executar <scriptname> . Se <scriptname> apontar para outro intérprete ( #!/bin/sh ), então <scriptname> seria normalmente interpretado por esse programa, mas você está ignorando isso, pedindo ao bash para interpretá-lo.

    
por 06.12.2012 / 07:35