Выполнение одной функции из сценария Shell в Windows GitBash неожиданно закрывает оболочку - PullRequest
0 голосов
/ 14 октября 2018

Я недавно установил Git For Windows версии 2.19.1.windows.1 в моей Windows 64Bit (как Windows 7, так и 10, в двух системах).

Теперь я создалприведенный ниже скрипт для выполнения некоторых обычных задач без написания каждой инструкции в отдельности:

#!/bin/bash
## Contains functions and methods that can be executed inside Vagrant SSH Session

export SCRIPT_PATH="$(cd "$(dirname "$0")"; pwd -P)"
export PROJECT_ROOT_PATH="/var/www" PROJECT_ROOT_DIR="/var/www" ROOT_FOLDER="/var/www"

function fcc() {
    echo "########## Frontend Cache clear begins #############"
    [[ "$PWD" =~ "frontend/app" ]] && cd frontend/app
    rm -rf webroot/cache_js && rm -rf webroot/cache_css
    mkdir -m 777 webroot/cache_js && mkdir -m 777 webroot/cache_css
    Console/cake AssetCompress.AssetCompress build -f
    cat /dev/null > ~/.bash_history && history -wc && history -cw && exit
    cd /var/www
    echo "########## Frontend Cache clear ends #############"
    keep_shell_open
}

function bocc() {
    ...
}

function bcc() {
    ...
}

function succ() {
    ...
}

function keep_shell_open() { exec $SHELL; };

Теперь, когда каталог goto-скрипта проходит через терминал Gitbash, и я регистрирую скрипт, так как ниже он неожиданно открывает каталог C:\Program Files\Git\usr\binGitBash:

. ./VagrantGuestScript.sh

И затем, когда я выполняю функцию "fcc" этого сценария, он выполняет только первые 2 или 3 строки, а затем закрывает терминал.

Может кто-нибудь объяснить, почему этооткрывает путь к корзине в Gitbash при попытке зарегистрировать скрипт и почему он закрывает терминал после выполнения только 2/3 строк функции "fcc"?

...