[英]bash function sourced from .bashrc does not cd to folder
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.