shell脚本提示command not found

PROJECT=$(pwd)FAULS=`find$(pwd)-nameAAAA`Fauls=`ls$FAULS|grep/usb`echo"请输入要替换的文件"read... PROJECT=$(pwd)FAULS=`find $(pwd) -name AAAA`Fauls=`ls $FAULS | grep /usb`
echo "请输入要替换的文件"read -e FileNameRESULT=`find $PROJECT -name $FileName`PATH=`ls $RESULT | grep $FileName`rm -rf $PROJECT/replaceecho "$RESULT" >> $PROJECT/replaceNumber=`cat $PROJECT/replace | wc -l`
if [ $PATH == $Fauls ]then echo " $PROJECT 下未找到 $FileName" exit 1else echo "共找到 $Number 处,具体路径如下" cat $PROJECT/replacefi
echo "输入要替换搜索结果中的第几个文件(输入数字)"read -e choiceCHOICE=`awk -v num=$choice 'NR==num,NR==num{print}' $PROJECT/replace`cp $PROJECT/$FileName $CHOICEecho "$CHOICE 已替换"~~~"Replace_file" 26L, 675C written

[root@packshop cavan]# ./Replace_file 请输入要替换的文件file./Replace_file: line 9: rm: command not found./Replace_file: line 11: cat: command not found./Replace_file: line 11: wc: command not found./Replace_file: line 13: [: too many arguments共找到 处,具体路径如下./Replace_file: line 19: cat: command not found输入要替换搜索结果中的第几个文件(输入数字)

如何处理,还有line13处如何做判断更好?
展开
 我来答
ace_fei
推荐于2017-10-01 · TA获得超过2013个赞
知道小有建树答主
回答量:734
采纳率:100%
帮助的人:724万
展开全部
1. 关于command not found,这个是因为`PATH=`ls $RESULT | grep $FileName` 这里的PATH,会将系统环境变量给覆盖了。请把PATH,修改成Path或者mypath之类的单词。

2. 确认你变量大小写都是否正确,你定义的时候用的是FAULS,使用变量的时候是 $Fauls,导致 $Fauls这个变量为空,那么语句if [ $PATH == $Fauls ] 就相当于if [ $PATH == ]。

3. 在写if [ $PATH == $Fauls ]这样的语句时,请给变量打上双引号,预防变量为空时出现的语法错误“ line 13: [: too many arguments”。
春羡利01f
2014-01-19 · 超过24用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:48万
展开全部
$PATH 等 这些都要所有变量都加引号,
"$PROJECT"
追问
哥  这个不是环境变量没加导致系统命令无法使用的么。。求解如何加环境变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZHANG_QICHUAN
2014-01-18
知道答主
回答量:12
采纳率:0%
帮助的人:3.7万
展开全部
这个问题可以解决, 是语法错误了, 需要调试才行, 已经发了百度私信了, 看看吧
追问
哥  这个不是环境变量没加导致系统命令无法使用的么。。求解如何加环境变量
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式