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 = filePath
gereklidir.
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 = filePath
kullanı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 = inline
gereklidir. Varsayılan değer: # Write your commands here\n\necho 'Hello world'
.
Betiğin içeriği.
script
- Komut dosyası
string
. olduğunda targetType = inline
gereklidir. 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ı Foo
bir 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 |