取两个命令行参数,第一个是目录名,第二个是文件大小(以字节为单位)。将您的 shell 脚本称为“listfiles”。? 来自 shell 提示的调用应该类似于“$ listfiles /tmp 50”。? 首先,您的 shell 脚本应该检查是否只有两个参数传递给它。? 然后你的 shell 脚本应该检查第一个参数实际上是一个目录。? 您的 shell 脚本应列出您具有读取权限且小于给定大小的目录中的所有常规文件。
由于这是作业,我只会给出提示:
$1和$2(等用于更多参数)可用。$# 将是传递的参数数量。[ -d "dir" ]测试将测试是否dir是一个目录。find . -type f -size -50将查找当前目录中的所有常规文件(. ) 中所有大小小于 50 字节的。一个简单的开始:
#!/bin/sh
echo "There are $# arguments passed, the first two are '$1' and '$2'"
Run Code Online (Sandbox Code Playgroud)
您应该能够通过阅读本站点上的相关问题和答案,或者使用man命令阅读您正在使用的 shell 的手册(例如man bash)来阅读其余部分。在bash您也可以使用命令help test来阅读有关-d测试和如何比较数字。
find 记录在 man find本网站的问题并被广泛引用。
您还应该查阅与您正在上课的课程相关的任何学习材料。
此问题可能会作为您之前问题的副本而关闭。如果您还有其他问题,请具体说明您在解决问题时遇到的特定问题。
一个好的问题包含对问题的解释、您使用的代码、您执行代码的方式、您看到的任何实际错误消息和/或警告消息,以及您期望代码执行的操作。另请参阅“我如何提出一个好问题?” 和“我应该避免问哪些类型的问题?在帮助中心。
我们很乐意为您提供帮助,但我们不会为您编写脚本。