Bash@3 - Tugas Bash v3

Gunakan tugas ini untuk menjalankan skrip Bash di macOS, Linux, atau Windows.

Sintaks

# 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.

Input

targetType - Jenis
string. Nilai yang diizinkan: filePath (Jalur File), inline. Nilai default: filePath.

Jenis skrip target: jalur file atau sebaris.


filePath - Jalur Skrip
string. Diperlukan saat targetType = filePath.

Jalur skrip yang akan dijalankan. Ini harus merupakan jalur yang sepenuhnya memenuhi syarat atau relatif terhadap $(System.DefaultWorkingDirectory).


arguments - Argumen
string. Opsional. Gunakan saat targetType = filePath.

Argumen diteruskan ke skrip shell. Baik parameter ordinal atau parameter bernama.


script - Script
string. Diperlukan saat targetType = inline. Nilai default: # Write your commands here\n\necho 'Hello world'.

Isi skrip.


script - Script
string. Diperlukan saat targetType = inline. Nilai default: # Write your commands here\n\n# Use the environment variables input below to pass secret variables to this script.

Isi skrip.


workingDirectory - Direktori Kerja
string.

Menentukan direktori kerja tempat Anda ingin menjalankan perintah. Jika Anda membiarkannya kosong, direktori kerja adalah $(Build.SourcesDirectory).


failOnStderr - Gagal pada Kesalahan Standar
boolean. Nilai default: false.

Jika ini benar, tugas ini akan gagal jika ada kesalahan yang ditulis ke StandardError aliran.


bashEnvValue - Tetapkan nilai untuk variabel lingkungan BASH_ENV
string.

Jika input ditentukan, nilainya diperluas dan digunakan sebagai jalur file startup untuk dijalankan sebelum menjalankan skrip. Jika variabel BASH_ENV lingkungan telah ditentukan, tugas akan mengambil alih variabel ini hanya untuk tugas saat ini. Pelajari selengkapnya tentang File Startup Bash.


noProfile - Jangan muat file startup/inisialisasi profil
boolean. Nilai default: true.

Jangan muat file /etc/profile startup di seluruh sistem atau file inisialisasi pribadi apa pun.


noRc - **Jangan baca ~/.bashrc' initialization file**<br> boolean. Default value: benar'.


Opsi kontrol tugas

Semua tugas memiliki opsi kontrol selain input tugas mereka. Untuk informasi selengkapnya, lihat Opsi kontrol dan properti tugas umum.

Variabel output

Tidak ada.

Keterangan

Tugas bash memiliki pintasan di YAML: steps.bash.

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

Tugas Bash akan menemukan implementasi Bash pertama pada sistem Anda. Berjalan which bash di Linux/macOS atau where bash di Windows akan memberi Anda gambaran tentang mana yang akan dipilihnya.

Info tentang file startup Bash

Tugas Bash memanggil Bash sebagai shell non-interaktif dan non-login. Ketika Bash dimulai secara non-interaktif, untuk menjalankan skrip shell, Bash mencari variabel BASH_ENV di lingkungan, membuka nilainya jika muncul di sana, dan menggunakan nilai sebagai nama file untuk dibaca dan dijalankan.

Ada beberapa opsi untuk menentukan BASH_ENV variabel lingkungan dalam alur. Pertama, dimungkinkan BASH_ENV untuk mengatur variabel lingkungan sebagai variabel alur. Dalam hal ini, setiap instans tugas Bash akan mencoba untuk membuka nilai BASH_ENV variabel dan menggunakan nilainya.

variables:
  BASH_ENV: "~/.profile"

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

Opsi lain adalah mengatur BASH_ENV untuk satu instans tertentu dari tugas Bash, ada dua cara bagaimana hal ini dapat dilakukan:

Cara pertama adalah menggunakan bashEnvValue input tugas, lihat contoh referensi:

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

Cara lain adalah dengan mengatur BASH_ENV variabel sebagai variabel lingkungan untuk tugas alur melalui env kata kunci, misalnya:

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

Catatan

Perhatikan bahwa jika bashEnvValue input didefinisikan dalam tugas Bash, tugas alur akan mengambil alih nilai BASH_ENV variabel dengan nilai dari bashEnvValue input dalam kasus ketika BASH_ENV variabel lingkungan sudah ditentukan di lingkungan.

Skrip bash yang diperiksa ke dalam repositori harus diatur executable (chmod +x). Jika tidak, tugas akan menampilkan peringatan dan source file sebagai gantinya.

Contoh

Anda dapat memetakan dalam variabel menggunakan env parameter yang umum di semua tugas, dan merupakan daftar item tambahan untuk dipetakan ke lingkungan proses. Misalnya, variabel rahasia tidak dipetakan secara otomatis. Jika Anda memiliki variabel rahasia yang disebut Foo, Anda dapat memetakannya seperti ini:

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

Di macOS atau Linux, contoh di atas setara dengan:

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

Persyaratan

Persyaratan Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak ada
Kemampuan Tugas ini tidak memenuhi tuntutan apa pun untuk tugas berikutnya dalam pekerjaan.
Pembatasan perintah Apa pun
Variabel yang dapat diatur Apa pun
Versi agen 2.115.0 atau lebih tinggi
Kategori tugas Utilitas