

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Shells e comandos em ambientes de compilação
<a name="build-env-ref-cmd"></a>

Você fornece um conjunto de comandos para o AWS CodeBuild executar em um ambiente de build durante o ciclo de vida de um build (por exemplo, instalar dependências de build e testar e compilar seu código-fonte). Há várias maneiras de especificar esses comandos:
+ Crie um arquivo de especificação da compilação e inclua-o no código-fonte. Nesse arquivo, especifique os comandos que deseja executar em cada fase de ciclo de vida do build. Para obter mais informações, consulte a [Referência de especificação de construção para CodeBuild](build-spec-ref.md).
+ Use o console do CodeBuild para criar um projeto de compilação. Em **Insert build commands (Inserir comandos de compilação)**, para **Build commands (Comandos de compilação)**, insira os comandos que deseja executar na fase `build`. Para obter mais informações, consulte [Criar um projeto de compilação (console)](create-project.md#create-project-console).
+ Use o console do CodeBuild para alterar as configurações de um projeto de compilação. Em **Insert build commands (Inserir comandos de compilação)**, para **Build commands (Comandos de compilação)**, insira os comandos que deseja executar na fase `build`. Para obter mais informações, consulte [Alterar configurações de um projeto de compilação (console)](change-project.md#change-project-console).
+ Use a AWS CLI ou os SDKs da AWS para criar um projeto de compilação ou alterar as configurações de um projeto de compilação. Faça referência ao código-fonte que contenha um arquivo de buildspec com os comandos ou especifique uma única string que inclua o conteúdo de um arquivo de buildspec equivalente. Para ter mais informações, consulte [Criar um projeto de compilação](create-project.md) ou [Alterar as configurações do projeto de compilação](change-project.md).
+ Use a AWS CLI ou AWS SDKs para iniciar uma compilação, especificando um arquivo de buildspec ou uma única string que inclua o conteúdo de um arquivo de buildspec equivalente. Para obter mais informações, consulte a descrição para o valor `buildspecOverride` em [Executar compilações manualmente](run-build.md).

É possível especificar qualquer comando da linguagem de comandos Shell (sh). Na buildspec versão 0.1, o CodeBuild executa cada comando do shell em uma instância separada no ambiente de compilação. Isso significa que cada comando é executado isoladamente em relação aos outros comandos. Portanto, por padrão, não é possível executar um comando que dependa do estado de algum comando anterior (por exemplo, mudança de diretórios ou configuração de variáveis de ambiente). Para resolver essa limitação, recomendamos usar a versão 0.2, que resolve o problema. Caso você precise usar a versão 0.1, recomendamos as seguintes abordagens:
+ Inclua um script de shell em seu código-fonte que contenha os comandos que você deseja executar em uma única instância do shell padrão. Por exemplo, você poderia incluir um arquivo denominado `my-script.sh` em seu código-fonte que contenha comandos como `cd MyDir; mkdir -p mySubDir; cd mySubDir; pwd;`. Depois, no arquivo de buildspec, especifique o comando `./my-script.sh`. 
+ No arquivo de buildspec, ou na configuração **Build commands (Comandos de compilação)** apenas da fase `build`, especifique um único comando que inclua todos os comandos que você deseja executar em uma única instância do shell padrão (por exemplo, `cd MyDir && mkdir -p mySubDir && cd mySubDir && pwd`). 

Se o CodeBuild encontrar um erro, pode ser mais difícil solucioná-lo, em comparação a executar um único comando na própria instância do shell padrão.

Os comandos executados em uma imagem do Windows Server Core usam o shell do PowerShell.