接受两个命令行参数,第一个参数是目录的名称,第二个参数是以字节为单位的文件大小。调用shell脚本“listfiles”。从shell提示符调用的应该类似于“$ listfiles50”。首先,您的shell脚本应该检查是否只向它传递两个参数。然后,脚本应该检查第一个参数实际上是一个目录。您的shell脚本,应该列出您可以读取的目录中的所有常规文件,这些文件都小于给定的大小。
发布于 2018-02-06 09:11:25
由于这是一份作业,我只会给出一些提示:
$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'"您应该能够通过阅读这个站点上的相关问题和答案,或者使用man命令来阅读您正在使用的shell的手册(例如man bash)来阅读其余的内容。在bash中,您还可以使用命令help test来阅读-d测试以及如何比较数字。
find记录在man find中,并在本站点的问题中广泛引用。
你也应该参考任何与你所参加的课程相关的学习材料。
这个问题很可能会作为你先前问题的副本而结束。如果你有更多的问题,请在解决你的问题时,把它们具体地和关于你所面临的特定问题。
一个很好的问题包含了对问题的解释、正在使用的代码、执行代码的方式、看到的任何实际错误消息和/或警告消息,以及您预期的代码会做什么。还请参阅“我该怎么问一个好问题呢?”和“我应该避免问什么类型的问题?中的帮助中心。
我们很乐意帮助你,但我们不会为你写剧本。
https://unix.stackexchange.com/questions/422227
复制相似问题