使用命令 find 的 Shell 脚本错误

使用命令 find 的 Shell 脚本错误

我的脚本应该:find从当前目录开始,使用 递归查找名称包含给定字符串的文件和目录。如果没有给出参数,则在将错误代码返回到 shellMissing argument(s)之前打印消息。1

这是脚本:

#!/bin/bash/
if ["${#}" -eq 0]
  then
     echo "Missing argument(s)"
     exit 1
else
  find .  -name "*$@*"
fi

我尝试在终端中使用它,但出现以下错误: bash: ./myfind: /bin/bash/: bad interpreter : Not a directory

为什么?我的代码正确吗?

答案1

您需要删除第一行末尾的斜杠。/bin/bash 是解释器。

答案2

[和之间"以及 和 之间0还需要一个空格]

奖励:您可以简化"${#}"$#- 没有必要引用始终是数字的变量,并且除非字符串中不止一个变量,否则没有必要使用括号。

相关内容