Bash@3 - Bash v3 タスク
このタスクは、macOS、Linux、または Windows で Bash スクリプトを実行するために使用します。
構文
# 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.
入力
targetType
- 型
string
. 使用できる値: filePath
(ファイル パス)、 inline
。 既定値: filePath
。
ターゲット スクリプトの種類: ファイル パスまたはインライン。
filePath
- スクリプト パス
string
. targetType = filePath
の場合に必要です。
実行するスクリプトのパス。 これは、完全修飾パスであるか、 に対する $(System.DefaultWorkingDirectory)
相対パスである必要があります。
arguments
- 引数
string
. 省略可能。 の場合は targetType = filePath
を使用します。
シェル スクリプトに渡される引数。 序数パラメーターまたは名前付きパラメーター。
script
- スクリプト
string
. targetType = inline
の場合に必要です。 既定値: # Write your commands here\n\necho 'Hello world'
。
スクリプトの内容。
script
- スクリプト
string
. targetType = inline
の場合に必要です。 既定値: # Write your commands here\n\n# Use the environment variables input below to pass secret variables to this script
。
スクリプトの内容。
workingDirectory
- 作業ディレクトリ
string
.
コマンドを実行する作業ディレクトリを指定します。 空のままにすると、作業ディレクトリは $(Build.SourcesDirectory) になります。
failOnStderr
- 標準エラーで失敗する
boolean
. 既定値: false
。
これが true の場合、ストリームにエラーが書き込まれた StandardError
場合、このタスクは失敗します。
bashEnvValue
- 環境変数の値BASH_ENV設定する
string
.
入力が指定されている場合、その値は展開され、スクリプトを実行する前に実行するスタートアップ ファイルのパスとして使用されます。 環境変数 BASH_ENV
が既に定義されている場合、この変数は、現在のタスクに対してのみ、タスクによってオーバーライドされます。 Bash スタートアップ ファイルの詳細については、こちらを参照してください。
noProfile
- プロファイルのスタートアップ/初期化ファイルを読み込まない
boolean
. 既定値: true
。
システム全体のスタートアップ ファイルまたは個人用初期化ファイル /etc/profile
を読み込まない。
noRc
- **ブール値. Default value:
true を~/.bashrc' initialization file**<br>
読み取りません'。
タスク制御オプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「 コントロール オプションと一般的なタスク プロパティ」を参照してください。
出力変数
[なし] :
解説
bash タスクには、YAML のショートカットがあります: steps.bash。
steps:
- bash: string # Required as first property. An inline script.
## Other task inputs
Bash タスクを使用すると、システム上の最初の Bash 実装が検出されます。
Linux/macOS で which bash
を実行するか、Windows で where bash
を実行すると、どちらが選択されるのかがわかります。
Bash スタートアップ ファイルに関する情報
Bash タスクは、Bash を非対話型の非ログイン シェルとして呼び出します。 Bash が非対話型で起動されると、シェル スクリプトを実行するために、Bash によって、環境内で BASH_ENV
が検索され、それが存在する場合にはその値が展開され、その値は読み取って実行するファイルの名前として使用されます。
パイプライン内で BASH_ENV
環境変数を定義するには、いくつかのオプションがあります。 まず、BASH_ENV
環境変数をパイプライン変数として設定できます。 この場合、Bash タスクの各インスタンスによって、BASH_ENV
変数の値の展開とその値の使用が試行されます。
variables:
BASH_ENV: "~/.profile"
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
他には、Bash タスクの特定の 1 つのインスタンスに対して BASH_ENV
を設定するというオプションがあります。これを行うには、次の 2 つの方法があります。
1 つ目は、bashEnvValue
タスク入力を使用するという方法です。次の例を参照してください。
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: env
bashEnvValue: '~/.profile'
もう 1 つは、次のように、env
キーワードを使用して、BASH_ENV
をパイプライン タスクの環境変数として設定するという方法です。
- task: Bash@3
inputs:
targetType: 'inline'
script: env
env:
BASH_ENV: '~/.profile'
注意
bashEnvValue
入力が Bash タスク内で定義されていると、BASH_ENV
環境変数が環境内で既に定義されている場合に、パイプライン タスクによって、bashEnvValue
入力からの値で BASH_ENV
変数の値がオーバーライドされることに注意してください。
リポジトリにチェックインされた Bash スクリプトは、実行可能 (chmod +x
) に設定される必要があります。
それ以外の場合は、代わりに、タスクによって警告と source
ファイルが表示されます。
例
パラメーターを env
使用して変数にマップできます。 これはすべてのタスクに共通であり、プロセスの環境にマップするための追加項目の一覧です。
たとえば、シークレット変数は自動的にはマップされません。 Foo
という名前のシークレット変数がある場合は、次のようにマップできます。
steps:
- task: Bash@3
inputs:
targetType: 'inline'
script: echo $MYSECRET
env:
MYSECRET: $(Foo)
macOS または Linux では、上記の例は次のようになります。
steps:
- script: echo $MYSECRET
env:
MYSECRET: $(Foo)
要件
要件 | 説明 |
---|---|
パイプラインの種類 | YAML、クラシック ビルド、クラシック リリース |
上で実行 | エージェント、DeploymentGroup |
確認要求 | なし |
Capabilities | このタスクは、ジョブ内の後続のタスクに対する要求を満たしていません。 |
コマンドの制限 | Any |
設定可能な変数 | Any |
エージェントのバージョン | 2.115.0 以上 |
タスクのカテゴリ | ユーティリティ |