源自.bashrc的bash函数不会cd到文件夹

时间:2017-10-31 08:14:34

标签: linux bash awk

doesn't cd from bash script

install_gawk中的if..else块在install_sed函数中完全正常工作时不起作用。事实上,我已经重新使用(复制粘贴)我的install_sed函数来创建install_gawk函数 在尝试了很多事情之后,我在这里发帖。以下是我的两个功能。

install_sed() {

    echo "Paste path to latest 'sed source file' from here: ftp://ftp.gnu.org/gnu/sed/ e.g., sed-4.2.2.tar.bz2" ;
    read sedlink ;

    wget -c $sedlink ;

    tar xvf sed-* ;

    sleep 5;

   if [ -d sed-* ] ; then

       cd sed-* ;

   else

       echo "no sed-* folder to cd.." ;

   fi

    ./configure ;

    make ;

    make check ;

    sudo make install ;

    sed --version ;

}


# if..else block should cd to gawk-* folder like it did in the sed folder but it doesn't cd.


install_gawk() {

 echo " download latest awk from here: http://ftp.gnu.org/gnu/gawk/ e.g.,  gawk-4.1.1.tar.xz "
 read gawklink ;

 wget -c $gawklink;

 tar xvf gawk-* ;

 sleep 5;

   if [ -d gaw-* ] ; then

        cd gaw-* ;

    else

        echo "no gawk-* folder to cd.." ;

    fi


    ./configure ;

    make ;

    make check ;

    sudo make install ;

    gawk --version ;

}

1 个答案:

答案 0 :(得分:1)

好像你在 gawk 的if-else条件中的目录名模式中输错了

  

if [-d gaw- *];然后

   cd gaw-* ;
     

否则

应该是什么 -

   ...
   if [ -d gawk-* ] ; then

        cd gawk-* ;

   else
   ..