我需要输出大小大于指定限制(声明为变量)的所有文件的路径。
我已经使用 find 脚本完成了:
FILESIZE = "+10M";
find "$1" -maxlimit 1 -size "$FILESIZE" -type f -exec echo "put {}" \;
它给了我两个错误:
/mnt/d/Lab1_z2.sh: line 1: FILESIZE: command not found
find: unknown predicate `-maxlimit'
怎么解决呢?
答案1
第一个错误很简单:
# wrong:
FILESIZE = "+10M";
# correct:
FILESIZE="+10M"
=
在分配 shell 变量时不应使用空格将符号括起来。另一个问题 - 行尾不需要分号。它不会造成伤害,但不需要。
第二个错误实际上令人费解 - 你从哪里得到这个选项?-maxlimit
中没有选项find
。要了解所有可能的按键和选项,请执行man find
并阅读。