Dela via


Bash@3 – Bash v3-uppgift

Använd den här uppgiften för att köra ett Bash-skript på macOS, Linux eller Windows.

Syntax

# Bash v3
# Run a Bash script on macOS, Linux, or Windows.
- task: Bash@3
  inputs:
    #targetType: 'filePath' # 'filePath' | 'inline'. Type. Default: filePath.
    filePath: # string. Required when targetType = filePath. Script Path. 
    #arguments: # string. Optional. Use when targetType = filePath. Arguments. 
    #script: # string. Required when targetType = inline. Script. 
  # Advanced
    #workingDirectory: # string. Working Directory. 
    #failOnStderr: false # boolean. Fail on Standard Error. Default: false.
    #bashEnvValue: # string. Set value for BASH_ENV environment variable.
# Bash v3
# Run a Bash script on macOS, Linux, or Windows.
- task: Bash@3
  inputs:
    #targetType: 'filePath' # 'filePath' | 'inline'. Type. Default: filePath.
    filePath: # string. Required when targetType = filePath. Script Path. 
    #arguments: # string. Optional. Use when targetType = filePath. Arguments. 
    #script: # string. Required when targetType = inline. Script. 
  # Advanced
    #workingDirectory: # string. Working Directory. 
    #failOnStderr: false # boolean. Fail on Standard Error. Default: false.
    #noProfile: true # boolean. Don't load the profile startup/initialization files. Default: true.
    #noRc: true # boolean. Don't read the `~/.bashrc' initialization file. Default: true.
# Bash v3
# Run a Bash script on macOS, Linux, or Windows.
- task: Bash@3
  inputs:
    #targetType: 'filePath' # 'filePath' | 'inline'. Type. Default: filePath.
    filePath: # string. Required when targetType = filePath. Script Path. 
    #arguments: # string. Optional. Use when targetType = filePath. Arguments. 
    #script: # string. Required when targetType = inline. Script. 
  # Advanced
    #workingDirectory: # string. Working Directory. 
    #failOnStderr: false # boolean. Fail on Standard Error. Default: false.

Indata

targetType - Typ
string. Tillåtna värden: filePath (Filsökväg), inline. Standardvärde: filePath.

Målskripttyp: filsökväg eller infogad.


filePath - Skriptsökväg
string. Krävs när targetType = filePath.

Sökvägen till skriptet som ska köras. Detta måste vara en fullständigt kvalificerad sökväg eller i förhållande till $(System.DefaultWorkingDirectory).


arguments - Argument
string. Valfritt. Använd när targetType = filePath.

Argumenten som skickas till shell-skriptet. Antingen ordningsparametrar eller namngivna parametrar.


script - Skript
string. Krävs när targetType = inline. Standardvärde: # Write your commands here\n\necho 'Hello world'.

Innehållet i skriptet.


script - Skript
string. Krävs när targetType = inline. Standardvärde: # Write your commands here\n\n# Use the environment variables input below to pass secret variables to this script.

Innehållet i skriptet.


workingDirectory - Arbetskatalog
string.

Anger arbetskatalogen där du vill köra kommandot. Om du lämnar den tom är arbetskatalogen $(Build.SourcesDirectory).


failOnStderr - Fel vid standardfel
boolean. Standardvärde: false.

Om detta är sant misslyckas den här aktiviteten om några fel skrivs till dataströmmen StandardError .


bashEnvValue - Ange värde för BASH_ENV miljövariabel
string.

Om indata anges expanderas dess värde och används som sökväg till en startfil som ska köras innan skriptet körs. Om miljövariabeln BASH_ENV redan har definierats åsidosätter aktiviteten endast den här variabeln för den aktuella aktiviteten. Läs mer om Bash-startfiler.


noProfile - Läs inte in profilens start-/initieringsfiler
boolean. Standardvärde: true.

Läs inte in den systemomfattande startfilen /etc/profile eller någon av de personliga initieringsfilerna.


noRc - **Läs inte det ~/.bashrc' initialization file**<br> booleska. Default value: värdet sant'.


Kontrollalternativ för aktivitet

Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Inga.

Kommentarer

Bash-uppgiften har en genväg i YAML: steps.bash.

steps:
- bash: string # Required as first property. An inline script. 
  ## Other task inputs

Bash-uppgiften hittar den första Bash-implementeringen i systemet. Om du kör which bash på Linux/macOS eller where bash i Windows får du en uppfattning om vilken som väljs.

Information om Bash-startfiler

Bash-uppgiften anropar Bash som ett icke-interaktivt gränssnitt som inte är inloggningsgränssnitt. När Bash startas icke-interaktivt för att köra ett shell-skript letar Bash efter variabeln BASH_ENV i miljön, visar dess värde om det visas där och använder värdet som namnet på en fil för att läsa och köra.

Det finns flera alternativ för att BASH_ENV definiera miljövariabeln i en pipeline. För det första är det möjligt att ange BASH_ENV miljövariabeln som en pipelinevariabel. I det här fallet försöker varje instans av Bash-aktiviteten att utveckla värdet för variabeln BASH_ENV och använda dess värde.

variables:
  BASH_ENV: "~/.profile"

steps:
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: env

Ett annat alternativ är att ange BASH_ENV för en viss instans av Bash-uppgiften. Det finns två sätt att göra detta:

Det första sättet är att använda aktivitetsindata bashEnvValue . Se ett exempel som referens:

steps:
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: env
    bashEnvValue: '~/.profile'

Ett annat sätt är att ange variabeln BASH_ENV som en miljövariabel för pipelineaktiviteten via nyckelordet env , till exempel:

- task: Bash@3
  inputs:
    targetType: 'inline'
    script: env
  env:
    BASH_ENV: '~/.profile'

Anteckning

Observera att om bashEnvValue indata definieras i Bash-aktiviteten åsidosätter pipelineaktiviteten värdet för variabeln BASH_ENV med värdet från bashEnvValue indata i ett fall då BASH_ENV miljövariabeln redan har definierats i miljön.

Bash-skript som checkas in på lagringsplatsen ska anges som körbara (chmod +x). Annars visar aktiviteten en varning och source filen i stället.

Exempel

Du kan mappa i variabler med hjälp av parametern env som är gemensam för alla uppgifter och är en lista över ytterligare objekt som ska mappas till processens miljö. Till exempel mappas inte hemliga variabler automatiskt. Om du har en hemlig variabel med namnet Fookan du mappa den så här:

steps:
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: echo $MYSECRET
  env:
    MYSECRET: $(Foo)

I macOS eller Linux motsvarar exemplet ovan:

steps:
- script: echo $MYSECRET
  env:
    MYSECRET: $(Foo)

Krav

Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
Krav Ingen
Funktioner Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet.
Kommandobegränsningar Valfri
Inställningsbara variabler Valfri
Agentversion 2.115.0 eller senare
Uppgiftskategori Verktyg