Bash-wget和mv“;“未找到命令”;

Bash-wget和mv“;“未找到命令”;,bash,command-line-interface,Bash,Command Line Interface,我在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 + FI

我在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
我几乎什么都试过了。。。我在这里犯了什么愚蠢的错误?剧本的名字是这样的:

sudobash-vx script.sh
#-v表示详细,-x表示打开调试模式


谢谢。

您已使用删除了路径

PATH=$SRCF/$FILE
只留下一件东西/有价值的东西在里面

path环境变量告诉shell它应该在哪里查找可执行文件,您已经对它进行了测试


使用不同的变量名来处理wget的URL。

脚本中的一个变量称为
PATH
<代码>路径也是用于查找可执行文件的特殊变量的名称


使用另一个变量名可以解决您的问题。

这一个很简单:>因为您重写了“PATH”变量。当然,这是系统找到“wget”iteself的位置所需要的


:>

我不认为OP打算使用
PATH
作为用于定位二进制文件的特殊变量。看看剧本里是怎么用的。皮埃尔:不是吗。PATH是unix Shell中的标准环境变量,包含系统路径。这是正确答案。路径不应该用作变量。同样的事情也发生在我身上。一位同事原型化了一个bash脚本,并使用“PATH”作为变量来存储参数。接着是欢闹。