0

私のコードは機能しません。-ステートメントでは、if「引数が多すぎます」と表示されます。これを行う別の方法があることは知っていますが、コードの何が問題になっているのかを調べたいと思います。

for fname in "*"
do
  h=$fname
  if [ -f $h ]
  then
    echo $fname
  fi
done
4

2 に答える 2

3

以下を参照して、二重引用符を削除し*ます。

for fname in *
do
  h=$fname
  if [ -f $h ]
  then
    echo $fname
  fi
done

これがうまくいくことを願っています。

二重引用符: 二重引用符で囲むと、変数が展開されます。

そのため、コードは「引数が多すぎます」というエラーをスローしています。

于 2013-03-18T04:27:09.370 に答える
0
read LOCATION
for filename in $LOCATION
do
    if [[ -d $filename ]]; then
        echo "$filename /"
    elif [[ -f $PASSED ]]; then
        echo "$filename *"
    else
        echo "$filename is not valid"
    exit 1
    fi
done
于 2013-03-18T04:30:53.747 に答える