我编写了一个 bash 脚本,该脚本根据输入参数获取三个路径,然后获取路径中的图像名称/文件名。类似于:我提供:AA=/home/user 然后它使用...
我编写了一个 bash 脚本,它根据输入参数获取三个路径,然后获取路径中的图像名称/文件名。
类似于:
我提供:
AA=/home/user
然后它使用 find 命令来获取
/home/user/dir2/images/dir/tellmeimage1fun.bin
最后我必须得到 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 和 cut 提供完整路径,它们会起作用。但我不想对脚本中的所有命令都这样做。如果我删除最后一行并回显 PATH 变量,那就完全没问题了。只有在添加最后一个命令后,我才看到问题。
我做错什么了?