Bash@3 - مهمة Bash v3

استخدم هذه المهمة لتشغيل برنامج نصي Bash على macOS أو Linux أو Windows.

بناء الجملة

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

الوسيطات التي تم تمريرها إلى البرنامج النصي shell. إما معلمات ترتيبية أو معلمات مسماة.


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.

إذا كان هذا صحيحا، فستفشل هذه المهمة إذا تمت كتابة أي أخطاء في StandardError الدفق.


bashEnvValue - تعيين قيمة لمتغير البيئة BASH_ENV
string.

إذا تم تحديد الإدخال، يتم توسيع قيمته واستخدامه كمسار لملف بدء التشغيل لتنفيذه قبل تشغيل البرنامج النصي. إذا تم تعريف متغير BASH_ENV البيئة بالفعل، فستتجاوز المهمة هذا المتغير فقط للمهمة الحالية. تعرف على المزيد حول ملفات بدء تشغيل Bash.


noProfile - عدم تحميل ملفات بدء/تهيئة ملف التعريف
boolean. القيمة الافتراضية: true.

لا تقم بتحميل ملف /etc/profile بدء التشغيل على مستوى النظام أو أي من ملفات التهيئة الشخصية.


noRc- **لا تقرأ القيمة المنطقية ~/.bashrc' initialization file**<br> . Default value: الحقيقية.


خيارات التحكم بالمهمة

تحتوي جميع المهام على خيارات التحكم بالإضافة إلى مدخلات المهام الخاصة بها. لمزيد من المعلومات، راجع خيارات التحكم وخصائص المهمة الشائعة.

متغيرات الإخراج

لا شيء

الملاحظات

تحتوي مهمة bash على اختصار في YAML: steps.bash.

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

ستجد مهمة Bash أول تطبيق Bash على نظامك. سيعطيك التشغيل which bash على Linux/macOS أو where bash على Windows فكرة عن أي واحد سيختاره.

معلومات حول ملفات بدء تشغيل Bash

تستدعي مهمة Bash Bash كواجهة غير تفاعلية وغير تسجيل دخول. عند بدء Bash بشكل غير تفاعلي، لتشغيل برنامج نصي shell، يبحث Bash عن المتغير BASH_ENV في البيئة، ويكشف قيمته إذا ظهر هناك، ويستخدم القيمة كاسم ملف للقراءة والتنفيذ.

هناك العديد من الخيارات لتعريف BASH_ENV متغير البيئة في البنية الأساسية لبرنامج ربط العمليات التجارية. أولا، من الممكن تعيين BASH_ENV متغير البيئة كمتغير البنية الأساسية لبرنامج ربط العمليات التجارية. في هذه الحالة، سيحاول كل مثيل لمهمة Bash الكشف عن BASH_ENV قيمة المتغير واستخدام قيمته.

variables:
  BASH_ENV: "~/.profile"

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

خيار آخر هو تعيين BASH_ENV مثيل معين واحد من مهمة Bash، هناك طريقتان لكيفية القيام بذلك:

الطريقة الأولى هي استخدام bashEnvValue إدخال المهمة، راجع مثالا للرجوع إليه:

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

طريقة أخرى هي تعيين BASH_ENV المتغير كمتغير بيئة لمهمة البنية الأساسية لبرنامج ربط العمليات التجارية عبر 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، الإصدار الكلاسيكي، الإصدار الكلاسيكي
يعمل على Agent, DeploymentGroup
المطالب بلا
القدرات لا تفي هذه المهمة بأي طلبات للمهام اللاحقة في الوظيفة.
قيود الأوامر أي
متغيرات Settable أي
إصدار الوكيل 2.115.0 أو أحدث
فئة المهمة الأداة المساعدة