繁体   English   中英

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

[英]bash function sourced from .bashrc does not cd to folder

不从 bash 脚本 cd

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 ;

}

似乎您在gawk 的if-else 条件下的目录名称模式中有拼写错误

如果 [ -d gaw-* ] ; 然后

 cd gaw-* ;

别的

应该是这样的——

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

        cd gawk-* ;

   else
   ..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM