【问题标题】:Taking user input to list directory with shell script使用 shell 脚本将用户输入输入到列表目录
【发布时间】:2013-03-30 00:29:47
【问题描述】:

我写了一个小脚本,它会要求一个目录,然后列出该目录中的目录,只是它总是告诉我没有这样的目录。我可能哪里出错了?

#!/bin/bash
echo -n "Enter a directory to list"
read answer
ls -d $answer

【问题讨论】:

  • 包装 $answer: "$answer"

标签: list shell unix directory


【解决方案1】:

问题

您的问题可能是以下一项或多项:

  1. 您没有正确引用目录名称。
  2. -d 标志只会列出目录本身。
  3. 您可能传递了一个不存在的目录的名称。

解决方案

假设您使用的是 Bash,您可以更简单地执行此操作。例如:

read -p 'Enter a directory to list: '
ls "$REPLY"

【讨论】:

    【解决方案2】:

    您可以使用 find 获取目录列表,如果您希望路径中有空格,则需要引用答案:

    #!/bin/bash
    echo -n "Enter a directory to list"
    read answer
    find "$answer" -type d
    

    【讨论】:

      猜你喜欢
      • 2010-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-26
      • 2022-01-11
      相关资源
      最近更新 更多