다음을 통해 공유


ShellScript@2 - 셸 스크립트 v2 작업

이 작업을 사용하여 셸 스크립트를 bash실행합니다.

문법

# Shell script v2
# Run a shell script using Bash.
- task: ShellScript@2
  inputs:
    scriptPath: # string. Required. Script Path. 
    #args: # string. Arguments. 
  # Advanced
    #disableAutoCwd: false # boolean. Specify Working Directory. Default: false.
    #cwd: # string. Optional. Use when disableAutoCwd = true. Working Directory. 
    #failOnStandardError: false # boolean. Fail on Standard Error. Default: false.

입력

scriptPath - 스크립트 경로
string; 필수 사항입니다.

repo 루트에서 실행하려는 셸 스크립트 파일까지의 상대 경로를 지정합니다.


args - 인수
string;

스크립트에 전달할 인수를 지정합니다.


disableAutoCwd - 작업 디렉토리 지정
boolean; 기본값은 false입니다.

태스크가 스크립트를 실행하는 작업 디렉토리를 지정합니다. 값을 비워 두면 작업은 기본적으로 스크립트가 있는 폴더로 설정됩니다.


cwd - 작업 디렉터리
string; 선택 사항입니다. disableAutoCwd = true때 사용합니다.

스크립트가 실행되는 작업 디렉터리를 지정합니다. 값이 비어 있는 경우 작업은 리포지토리(build) 또는 아티팩트(release $(System.DefaultWorkingDirectory))의 루트를 사용합니다.


표준 오류failOnStandardError - 실패
boolean; 기본값은 false입니다.

값이 true인 경우 StandardError 스트림에 오류가 기록되면 작업이 실패합니다.


작업 제어 옵션

모든 작업에는 작업 입력 외에도 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성참조하세요.

출력 변수

없음.

비고

Bash 스크립트에 대한 정보는 어디에서 배울 수 있습니까?

후속 스크립트 및 작업에서 읽을 수 있도록 변수를 설정하려면 어떻게 해야 합니까?

스크립트에서 빌드 변수를 정의하는 방법에 대한 자세한 내용은 스크립트 빌드 변수 정의 및 수정참조하세요.

스크립트에서 릴리스 변수를 정의하는 방법에 대한 자세한 내용은 스크립트에서 릴리스 변수 정의 및 수정을 참조하십시오.

예시

저장소의 루트에서 만듭니다 test.sh . 줄 끝이 올바르도록 Linux 환경(예: 실제 Linux 컴퓨터 또는 Linux용 Windows 하위 시스템)에서 이 파일을 만드는 것이 좋습니다. 또한 커밋하기 전에 잊지 chmod +x test.sh 마십시오.

#!/bin/bash
echo "Hello World"
echo "AGENT_WORKFOLDER is $AGENT_WORKFOLDER"
echo "AGENT_WORKFOLDER contents:"
ls -1 $AGENT_WORKFOLDER
echo "AGENT_BUILDDIRECTORY is $AGENT_BUILDDIRECTORY"
echo "AGENT_BUILDDIRECTORY contents:"
ls -1 $AGENT_BUILDDIRECTORY
echo "SYSTEM_HOSTTYPE is $SYSTEM_HOSTTYPE"
echo "Over and out."

파이프라인에 다음 작업을 추가하여 이전 스크립트를 실행합니다.

- task: ShellScript@2
  inputs:
    scriptPath: 'test.sh'

요구 사항

요구 사항 설명
파이프라인 유형 YAML, 클래식 빌드, 클래식 릴리스
다음에서 실행 에이전트, DeploymentGroup
요구 자체 호스팅 에이전트에는 이 작업을 사용하는 작업을 실행하기 위해 다음 요구 사항과 일치하는 기능이 있어야 합니다.
기능 이 작업은 작업의 후속 작업에 대한 요구 사항을 충족하지 않습니다.
명령 제한 어느 것이든
settable 변수 어느 것이든
에이전트 버전 지원되는 모든 에이전트 버전입니다.
작업 범주 유틸리티