Aracılığıyla paylaş


Bash@3 - Bash v3 görevi

MacOS, Linux veya Windows üzerinde Bash betiği çalıştırmak için bu görevi kullanın.

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.

Girişler

targetType - Türü
string. İzin verilen değerler: filePath (Dosya Yolu), inline. Varsayılan değer: filePath.

Hedefler betik türü: dosya yolu veya satır içi.


filePath - Betik Yolu
string. olduğunda targetType = filePathgereklidir.

Yürütülecek betiğin yolu. Bu, tam yol veya ile $(System.DefaultWorkingDirectory)ilgili olmalıdır.


arguments - Bağımsız değişken
string. İsteğe bağlı. olduğunda targetType = filePathkullanın.

Kabuk betiğine geçirilen bağımsız değişkenler. Sıralı parametreler veya adlandırılmış parametreler.


script - Komut dosyası
string. olduğunda targetType = inlinegereklidir. Varsayılan değer: # Write your commands here\n\necho 'Hello world'.

Betiğin içeriği.


script - Komut dosyası
string. olduğunda targetType = inlinegereklidir. Varsayılan değer: # Write your commands here\n\n# Use the environment variables input below to pass secret variables to this script.

Betiğin içeriği.


workingDirectory - Çalışma Dizini
string.

komutunu çalıştırmak istediğiniz çalışma dizinini belirtir. Boş bırakırsanız, çalışma dizini $(Build.SourcesDirectory) olur.


failOnStderr - Standart Hatada Başarısız
boolean. Varsayılan değer: false.

Bu doğruysa, akışa StandardError herhangi bir hata yazılırsa bu görev başarısız olur.


bashEnvValue - BASH_ENV ortam değişkeni için değer ayarlama
string.

Giriş belirtilirse, değeri genişletilir ve betiği çalıştırmadan önce yürütülecek bir başlangıç dosyasının yolu olarak kullanılır. Ortam değişkeni BASH_ENV önceden tanımlanmışsa, görev bu değişkeni yalnızca geçerli görev için geçersiz kılar. Bash Başlangıç Dosyaları hakkında daha fazla bilgi edinin.


noProfile - Profil başlatma/başlatma dosyalarını yüklemeyin
boolean. Varsayılan değer: true.

Sistem genelindeki başlangıç dosyasını veya kişisel başlatma dosyalarını /etc/profile yüklemeyin.


noRc- **Boolean. Default value: true'yu okumayın~/.bashrc' initialization file**<br> .


Görev denetim seçenekleri

Tüm görevlerde görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz . Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Yok.

Açıklamalar

Bash görevinin YAML'de bir kısayolu vardır: steps.bash.

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

Bash görevi sisteminizdeki ilk Bash uygulamasını bulur. Linux/macOS veya where bash Windows üzerinde çalıştırmakwhich bash, hangisini seçeceği konusunda size bir fikir verir.

Bash başlangıç dosyaları hakkında bilgi

Bash görevi Bash'i etkileşimli olmayan, oturum açma işlemi olmayan bir kabuk olarak çağırır. Bash etkileşimli olmayan bir şekilde başlatıldığında, kabuk betiğini çalıştırmak için Bash ortamda değişkeni BASH_ENV arar, orada görünüyorsa değerini ortaya çıkartır ve değeri okumak ve yürütmek için dosyanın adı olarak kullanır.

Bir işlem hattında ortam değişkenini BASH_ENV tanımlamak için çeşitli seçenekler vardır. öncelikle ortam değişkenini BASH_ENV bir işlem hattı değişkeni olarak ayarlamak mümkündür. Bu durumda Bash görevinin her örneği değişkenin değerini BASH_ENV açmaya ve değerini kullanmaya çalışır.

variables:
  BASH_ENV: "~/.profile"

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

Bir diğer seçenek de Bash görevinin belirli bir örneği için ayarlamaktır BASH_ENV . Bunun iki yolu vardır:

İlk yol, görev girişini kullanmaktır bashEnvValue . Başvuru örneği:

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

Bir diğer yol da değişkeni anahtar sözcüğü aracılığıyla env işlem hattı görevi için ortam değişkeni olarak ayarlamaktırBASH_ENV, örneğin:

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

Not

Giriş Bash görevinde tanımlanmışsabashEnvValue, ortam değişkeninin ortamda zaten tanımlandığı bir durumda işlem hattı görevinin değişkenin BASH_ENV değerini girişteki bashEnvValue değerle geçersiz kılacağını BASH_ENV unutmayın.

Depoda denetlenen Bash betikleri yürütülebilir (chmod +x olarak ayarlanmalıdır. Aksi takdirde, görev bunun yerine bir uyarı ve source dosya gösterir.

Örnekler

Tüm görevlerde ortak olan ve işlemin ortamına env eşlenen ek öğelerin listesi olan parametresini kullanarak değişkenler halinde eşleyebilirsiniz. Örneğin, gizli dizi değişkenleri otomatik olarak eşlenmez. adlı Foobir gizli dizi değişkeniniz varsa, bunu şu şekilde eşleyebilirsiniz:

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

macOS veya Linux'ta yukarıdaki örnek aşağıdakine eşdeğerdir:

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

Gereksinimler

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalıştırılır Agent, DeploymentGroup
Talep Hiçbiri
Özellikler Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi biri
Ayarlanabilir değişkenler Herhangi biri
Aracı sürümü 2.115.0 veya üzeri
Görev kategorisi Yardımcı Program