我的脚本应该: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
还需要一个空格]
。
奖励:您可以简化"${#}"
为$#
- 没有必要引用始终是数字的变量,并且除非字符串中不止一个变量,否则没有必要使用括号。