Для выполнения скриптов и команд оболочки можно использовать рабочий процесс GitHub Actions для выполнения скриптов и команд оболочки, которые затем выполняются на назначенном средстве выполнения. В этом примере показано, как использовать ключевое `run` слово для выполнения команды `npm install -g bats` в средстве выполнения.

```yaml
jobs:
  example-job:
    runs-on: ubuntu-latest
    steps:
      - run: npm install -g bats
```

Чтобы использовать рабочий процесс для запуска скрипта, хранящегося в репозитории, необходимо сначала извлечь репозиторий в средство выполнения. Выполнив это, можно использовать `run` ключевое слово для запуска скрипта в средстве выполнения. В следующем примере выполняются два сценария, каждый из которых выполняется на отдельном шаге задания. Расположение скриптов в средстве выполнения указывается путем задания рабочего каталога по умолчанию для команд выполнения. Дополнительные сведения см. в разделе [Настройка оболочки по умолчанию и рабочего каталога](/ru/actions/using-jobs/setting-default-values-for-jobs).

```yaml
jobs:
  example-job:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./scripts
    steps:
      - name: Check out the repository to the runner
        uses: actions/checkout@v5
      - name: Run a script
        run: ./my-script.sh
      - name: Run another script
        run: ./my-other-script.sh
```

Все скрипты, которые требуется выполнить задание рабочего процесса, должны быть исполняемыми. Это можно сделать в рабочем процессе, передав скрипт в качестве аргумента интерпретатору, который будет запускать скрипт , например, `run: bash script.sh` или путем создания самого исполняемого файла. Вы можете предоставить файлу разрешение на выполнение с помощью команды `git update-index --chmod=+x PATH/TO/YOUR/script.sh` локально, а затем зафиксировать и отправить файл в репозиторий. Кроме того, для рабочих процессов, выполняемых в linux и mac-запусках, можно добавить команду, чтобы предоставить файлу разрешение на выполнение в задании рабочего процесса перед запуском скрипта:

```yaml
jobs:
  example-job:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./scripts
    steps:
      - name: Check out the repository to the runner
        uses: actions/checkout@v5
      - name: Make the script files executable
        run: chmod +x my-script.sh my-other-script.sh
      - name: Run the scripts
        run: |
          ./my-script.sh
          ./my-other-script.sh
```

Дополнительные сведения о ключевом слове `run` см. в разделе [Синтаксис рабочего процесса для GitHub Actions](/ru/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun).