0

ディレクトリを要求し、そのディレクトリ内のディレクトリを一覧表示する小さなスクリプトを作成しましたが、そのようなディレクトリは存在しないことが常に通知されます。どこで間違ったのでしょうか?

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

2 に答える 2

2

問題

問題は、次の 1 つまたは複数の可能性があります。

  1. ディレクトリ名を適切に引用していません。
  2. フラグは-d、ディレクトリ自体のみを一覧表示します。
  3. 存在しないディレクトリの名前を渡している可能性があります。

解決

Bash を使用していると仮定すると、これをはるかに簡単に行うことができます。例えば:

read -p 'Enter a directory to list: '
ls "$REPLY"
于 2013-03-30T00:33:00.520 に答える
0

find を使用してディレクトリのリストを取得できます。パス内にスペースが必要な場合は、答えを引用する必要があります。

#!/bin/bash
echo -n "Enter a directory to list"
read answer
find "$answer" -type d
于 2013-03-30T00:42:19.043 に答える