Bash@3 - Bash v3 görevi
MacOS, Linux veya Windows üzerinde bash betiği çalıştırmak için bu görevi kullanın.
Not
Bir Windows konağından bu, bash'i WSL varsayılan dağıtımından çalıştırır. WSL yüklenmelidir ve aracının çalıştığı kullanıcının bir dağıtım kurulumu olmalıdır. WSL, Microsoft tarafından barındırılan Windows aracı görüntülerine yüklenir. Daha fazla bilgi için bkz. Microsoft tarafından barındırılan aracıları - Yazılım.
Sözdizimi
# 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ş
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
.
targetType = filePath
gerekir.
Yürütülecek betiğin yolu. Bu, tam yol veya $(System.DefaultWorkingDirectory)
göreli olmalıdır.
bağımsız değişkenleriarguments
-
string
. Opsiyonel.
targetType = filePath
olduğunda kullanın.
Kabuk betiğine geçirilen bağımsız değişkenler. Sıralı parametreler veya adlandırılmış parametreler.
script
-
Betik
string
.
targetType = inline
gerekir. Varsayılan değer: # Write your commands here\n\necho 'Hello world'
.
Betiğin içeriği.
script
-
Betik
string
.
targetType = inline
gerekir. 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.
çalışma diziniworkingDirectory
-
string
.
komutunu çalıştırmak istediğiniz çalışma dizinini belirtir. Boş bırakırsanız, çalışma dizini $(Build.SourcesDirectory) olur.
standart hatabaşarısız failOnStderr
-
boolean
. Varsayılan değer: false
.
Bu doğruysa, StandardError
akışına 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
zaten 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 genelinde başlangıç dosyasını /etc/profile
veya kişisel başlatma dosyalarından herhangi birini yüklemeyin.
noRc
- **~/.bashrc' initialization file**<br>
boole. Default value:
true'yu okumayın.
Görev denetimi seçenekleri
Tüm görevlerin, 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
Hiç kimse.
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 üzerinde which bash
veya Windows'da where bash
çalıştırmak size hangisini seçeceği hakkında 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 BASH_ENV
değişkenini arar, orada görünürse 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 BASH_ENV
ortam değişkenini tanımlamak için çeşitli seçenekler vardır. İlk olarak, BASH_ENV
ortam değişkenini bir işlem hattı değişkeni olarak ayarlamak mümkündür. Bu durumda, Bash görevinin her örneği BASH_ENV
değişkeninin değerini 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 BASH_ENV
ayarlamaktır. Bunun iki yolu vardır:
İlk yol, bashEnvValue
görev girişini kullanmaktır. Başvuru örneği:
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
bashEnvValue: '~/.profile'
Başka bir yol, BASH_ENV
değişkenini env
anahtar sözcüğü aracılığıyla işlem hattı görevi için ortam değişkeni olarak ayarlamaktır, örneğin:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
env:
BASH_ENV: '~/.profile'
Not
bash görevinde bashEnvValue
girişi tanımlanmışsa, işlem hattı görevinin BASH_ENV
ortam değişkeninin ortamda zaten tanımlandığı bir durumda bashEnvValue
girişindeki değerle BASH_ENV
değişkeninin değerini geçersiz kılacağını unutmayın.
Depoda denetlenen Bash betikleri yürütülebilir olarak ayarlanmalıdır (chmod +x
).
Aksi takdirde, görev bir uyarı gösterir ve bunun yerine dosyayı source
.
Örnekler
tüm görevlerde ortakolan ve işlemin ortamına eşlenen ek öğelerin listesi olan env
parametresini kullanarak değişkenleri eşleyebilirsiniz.
Örneğin, gizli dizi değişkenleri otomatik olarak eşlenmez.
Foo
adlı 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 şunlara eşdeğerdir:
steps:
- script: echo $MYSECRET
env:
MYSECRET: $(Foo)
Gereksinim -leri
Gereksinim | Açıklama |
---|---|
İşlem hattı türleri | YAML, Klasik derleme, Klasik sürüm |
Üzerinde çalışır | Agent, DeploymentGroup |
Talepleri | Hiç kimse |
Özellikleri | Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz. |
Komut kısıtlamaları | Herhangi |
Ayarlanabilir değişkenleri | Herhangi |
Aracı sürümü | 2.115.0 veya üzeri |
Görev kategorisi | Yarar |