首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在目录中显示文件列表?

如何在目录中显示文件列表?
EN

Unix & Linux用户
提问于 2020-07-18 18:38:01
回答 4查看 1.3K关注 0票数 1

我创建了一个名为dir1的新目录

然后用触摸命令添加苹果、香蕉、胡萝卜、枣、蛋、鱼、葡萄火腿。

之后,我创建了文件Wildcards.sh (顺便说一句,我使用了nano来创建文件)。

代码语言:javascript
复制
#!/bin/bash

# This script will include wildcards

find . dir1
echo The contents of dir1 are:$find
echo

然后我执行它来测试它是否有效。是的,但我不想这样。

我像./Wildcards.sh一样运行它

得到了

代码语言:javascript
复制
.
./ham
./egg
./grape
./date
./Wildcards.sh
./apple
./fish
./carrot
./banana
find: 'dir1': No such file or directory
The contents of dir1 are:

应该像这样输出吗:The contents of dir1 are: apple banana carrot date egg fish grape ham

请帮我找出我的错误?

EN

回答 4

Unix & Linux用户

发布于 2020-07-18 18:47:22

当dir1是您的工作目录时,您无法找到dir1。您从未在变量"$find“中添加任何内容。

代码语言:javascript
复制
FIND=$(cd ~/dir1; echo *)

echo "The contents of dir1 are: $FIND"

这里发生的是,您将主文件夹中的工作目录更改为dir1,然后让bash显示所有未隐藏的内容("*")。结果保存在变量FIND中(但是如果有错误,它们也会保存在FIND中)。如果您也想要隐藏的文件和目录,则如下所示:

代码语言:javascript
复制
FIND=$(cd ~/dir1; echo .* *)
票数 1
EN

Unix & Linux用户

发布于 2020-07-18 19:27:12

给你,试试

代码语言:javascript
复制
result=$(find ~/dir1)
echo "The contents of dir1 are: $result"

代码语言:javascript
复制
echo "The contents of dir1 are: $(find ~/dir1)"

分解:

(如果我说的不正确,我对Bash不是最好的) result=$(find ~/dir1)运行find ~/dir1,然后将其存储在result中,$(command)运行()s内部的命令,并使用命令的STDOUT(标准输出/命令输出)作为临时变量,您也可以使用${result}代替D9,这允许使用echo "${result}asdf"这样的场景。希望这能有所帮助!请原谅我的格式不正确,这是我的第一篇文章:P

票数 1
EN

Unix & Linux用户

发布于 2020-07-18 21:22:52

你的剧本有更正。

代码语言:javascript
复制
#!/bin/bash

# This script has no wildcards

find_output="$(find dir1)"
echo 'The contents of dir1 are:'"$find_output"
echo

我想补充另一个答案,因为所有现有的答案都有错误。

您的一些错误是:

  • 您似乎假设流程的输出被放入变量中。不是的,除非你自己要求。
  • find不需要.作为它的第一个参数。是的,经常是这样,但是…
  • 下一个问题是,您需要使用引号。我认为这还没有引起什么问题。有些人将正确地说,并不是所有的报价是必要的。然而,他们是安全的,直到你完全掌握了他们,你也可以包括他们。在那之后,你也可以把它们包括进去。
  • 那么你有一个不正确的评论。我讨厌评论,因为它们几乎总是错误的。评论只应说明原因,或如果语言太弱,无法清楚地表达意图,则应使用。

关于shell变量大写化的说明.

Shell变量应该是小写。这是有标准的。如果你把它们作为大写,你会时不时地收到意想不到的错误。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/599188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档