我目前正在上 Linux 入门课。我们使用 Ubuntu 10.04,我遇到了一个实验问题。以下是说明:
创建一个名为 get_dirs 的脚本,列出目录中的目录,删除多余的字符,并将数据存储在名为 current_dirs 的文件中。运行脚本并验证输出。为此命令创建一个名为 gd 的别名。检查别名是否有效,然后注销并重新登录。检查别名是否仍然有效
这是在线课程,我的老师目前不在。到目前为止,我在课堂上表现都很好,但我不知道如何完成第一句话中的指示。
答案1
我可能会使用类似 的内容在当前工作目录中查找目录find -maxdepth 1 -type d
。这会带来一些问题,因为会添加./
路径...以下是演示:
$ find -maxdepth 1 -type d
.
./sites
./stories
./templates
./media
我认为这就是您的说明中所说的“额外字符”。这就是它希望您清理的内容,因此无论您最终写什么,从上面的例子来看,您最终都会得到:
sites
stories
templates
media
对于清理,您可能需要查看诸如sed
、grep
和之类的工具awk
(其中任何一个都可以做到,而且您只需要一个)...您甚至可以查看或find
子句,但在我看来这非常先进。-exec
-fprint
我认为其余部分相当不言自明。创建一个获取目录名称干净版本的命令,将其输出保存在文件中(参见:bash 重定向),检查它是否正确,然后为其创建持久的 bash 别名。
我上面说“创建一个命令”,是因为我认为为这样一个愚蠢的小命令创建一个独立的 bash 脚本没有任何价值,特别是如果你以后要创建一个别名……但你的老师可能期望一个独立的脚本和别名。多做一点也许不会有什么坏处。