命令未找到bash脚本中的错误
发布时间:2020-12-15 22:49:50 所属栏目:安全 来源:网络整理
导读:我写了一个bash脚本.它基本上根据输入参数获取三个路径,然后获取路径中的imagename / filename. 就像是: 我提供: AA=/home/user 然后它使用find命令获取 /home/user/dir2/images/dir/tellmeimage1fun.bin 最后,我必须将tellmeimage1fun.bin作为输出. 脚本
我写了一个bash脚本.它基本上根据输入参数获取三个路径,然后获取路径中的imagename / filename.
就像是: AA=/home/user 然后它使用find命令获取 最后,我必须将tellmeimage1fun.bin作为输出. 脚本: #!/bin/bash echo "arg0 n/k/d" AA=$1 CC=$3 PATH1="`find $AA/dir2/images/dir/ -name *image1*.bin`" PATH2="`find $AA/dir2/images/dir/ -name *bimage2*.bin`" PATH3="`find $AA/dir2/images/dir/ -name *cimage3*.bin`" if [ $CC = "n" ] ; then PATH=$PATH1 elif [ $CC = "k" ] ; then PATH=$PATH2 else PATH=$PATH3 fi #Getting filename name from path: IMG="`ls $PATH | cut -d "/" -f6`" OUTPUT: /users/prasapat/bin/sl5: line 22: ls: command not found /users/prasapat/bin/sl5: line 22: cut: command not found 如果我给ls提供完整的路径并切断它们的工作.但我不想为脚本中的所有命令执行此操作.如果我删除最后一行并回显PATH变量,那就完全没问题了.只有在添加最后一个命令后,才能看到问题. 解决方法
问题是,如果在调用时没有使用完整路径,则重新定义bash查找的PATH变量以查找二进制文件.
您应该将bash脚本中的PATH更改为MYPATH或类似的东西,这样它就不会破坏已经存在的环境变量. 如果您不知道PATH变量是什么,可以查看wikipedia’s article (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |