2017-02-01 10 views
0

я только что написал эту функцию в Shell Script:cd'ing в недавно клонированного хранилище

clone_and_dev() { 
    REPO=$1 
    echo 
    echo "Beginning process for the $REPO repository..." 
    git clone [email protected]:keyfer/$REPO.git 
    cd "$REPO" 
} 

Проблема заключается в том, что команда cd не похоже на работу. Мне интересно, есть ли способ сделать эту работу.

Спасибо!

+1

ли это содержится в сценарии и запустить сценарий вроде './script' или' bash script'? Если да, 'cd' не действует, потому что это происходит в подоболочке, что не может повлиять на родительскую оболочку. Если, однако, «никакой эффект» предназначен для вызова функции внутри одного и того же скрипта, то я не уверен. –

+0

@benjamin Это исполняемый файл в ~/bin, который затем вызывает, просто запустив 'clonescipt' в терминале. Существуют и другие части этого скрипта, которые вызывают функцию и передают параметр. –

+0

Тогда он не может изменить каталог для вас, см., Например, [этот вопрос] (http://stackoverflow.com/questions/255414/why-doesnt-cd-work-in-a-bash-shell-script? noredirect = 1 & lq = 1) и [BashFAQ 60] (http://mywiki.wooledge.org/BashFAQ/060). –

ответ

0

Вы должны добавить начало CMD/к или запуска CMD/к «место команды для нового окна здесь» см:

clone_and_dev() { 
    REPO=$1 
    echo 
    echo "Beginning process for the $REPO repository..." 
    git clone [email protected]:keyfer/$REPO.git 
    cd "$REPO" 
    start cmd /k 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^