2015-12-09 3 views
0

Я выполнял скрипт для клонирования коды из некоторых локального репозитория на моей виртуальной системе через Cygwin строку:Ошибки:.:/USR/bin/[: не может выполнить двоичный файл на Cygwin

mkdir CPM_WORKAREA 
touch ~/.ssh/config 
{ 
    echo "Host gerrit.epk.ericsson.se" 
    echo " HostkeyAlgorithms ssh-dss" 
    echo " Hostname 136.225.198.208" 
    echo User $signumid 
    echo "PubKeyAuthentication yes" 
    echo "IdentityFile ~/.ssh/id_rsa" 
} > ~/.ssh/config 

cd ~/CPM_WORKAREA 
git clone ssh://gerrit.epk.ericsson.se:29418/tools/devenv devenv.x 
git config --global user.email $1 
mkdir -p /proj/env 
ln -s /usr/bin /proj/env/bin 
cd 
if ! grep -q 'alias vi=vim' .bashrc ; then 
{ 
    echo "alias vi=vim" >> .bashrc 
    echo 'export USER='$signumid'' >> .bashrc 
    echo 'export   DEVENVHOME=${DEVENVHOME:-/home/'$signumid'/CPM_WORKAREA/devenv.x}' >> .bashrc 
    echo '. $DEVENVHOME/sourceme.sh' >> .bashrc 
    } 
else 
    { 
    sed -i "s/.*USER.*/export USER=$signumid/ 
     s% .*DEVENVHOME=[$].*%    DEVENVHOME=\${DEVENVHOME:-/home/$signumid/CPM_WORKAREA/devenv.x}%" .bashrc 
    } 
fi 

    if ! grep -q 'EDITOR=vim' .bash_profile ; then 
    { 
    echo "EDITOR=vim" >> .bash_profile 
    echo "export EDITOR" >> .bash_profile 
    echo '. [ -r $HOME/.bashrc ] && . $HOME/.bashrc' >> .bash_profile 
    } 
    fi 

    touch .vimrc 
    { 
    echo "set nocp" 
    echo "syntax on" 
    } > .vimrc 

После выполнение этого сценария, когда я закрываю Cygwin запрос, а затем открыть его снова, он показывает:

-bash: .: /usr/bin/[: cannot execute binary file 

в верхней части Cygwin строки.

Я увидел некоторый обзор, что ошибка связана с выполнением скрипта на некорректной архитектуре.

Итак, я попытался проверить файл .bashrc, чтобы проверить, какие изменения вносятся в файл .bashrc после выполнения сценария. Но я не мог понять, как происходят изменения, приводящие к этой ошибке.

ответ

0

Проблема эта линия:

echo '. [ -r $HOME/.bashrc ] && . $HOME/.bashrc' >> .bash_profile 

Это создает профиль, который хочет «источник в [ команде» (которая не является сценарием оболочки, но двоичный файл). Похоже, . в . [ не должно быть.

+0

Да, я понял ошибку, и она отлично работает сейчас. Спасибо. – happymind113

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