我在bash中有以下基本脚本:
SOFT=apt-fast
FILE=$SOFT.sh
PATH=$SRCF/$FILE
WWW=http://www.mattparnell.com/linux/apt-fast/$FILE
EXEC=/usr/bin/apt-fast
wget -v -U firefox $WWW -O $PATH
mv $PATH $EXEC呈现的代码(打开调试)如下所示:
SOFT=apt-fast
+ SOFT=apt-fast
FILE=$SOFT.sh
+ FILE=apt-fast.sh
PATH=$SRCF/$FILE
+ PATH=/home/rgr/src/apt-fast.sh
WWW=http://www.mattparnell.com/linux/apt-fast/$FILE
+ WWW=http://www.mattparnell.com/linux/apt-fast/apt-fast.sh
EXEC=/usr/bin/apt-fast
+ EXEC=/usr/bin/apt-fast
wget -v -U firefox $WWW -O $PATH
+ wget -v -U firefox http://www.mattparnell.com/linux/apt-fast/apt-fast.sh -O /home/rgr/src/apt-fast.sh
cleanstart.sh: line 132: **wget: command not found**
mv $PATH $EXEC
+ mv /home/rgr/src/apt-fast.sh /usr/bin/apt-fast
cleanstart.sh: line 133: **mv: command not found**
exit
+ exit我几乎什么都试过了。我在这里犯了什么愚蠢的错误?脚本的名称是这样的:
sudo bash -vx script.sh #-v表示详细,-x表示打开调试模式
谢谢。
发布于 2011-08-10 04:17:27
这个路径很容易,因为您覆盖了“:>”变量。这当然是系统为了找到"wget“本身的位置而需要的。
:>
发布于 2011-08-10 04:16:07
你已经删除了你的路径
PATH=$SRCF/$FILE只留下那一个有价值的东西。
path环境变量告诉shell应该在哪里查找可执行文件,您已经对其进行了测试。
使用不同的变量名来处理wget的urls。
发布于 2011-08-10 04:16:41
脚本中的一个变量名为PATH。PATH也是用于查找可执行文件的特殊变量的名称。
使用另一个变量名可以解决您的问题。
https://stackoverflow.com/questions/7002333
复制相似问题