我的代码不起作用。在if
-statement 中,它说“参数太多”。我知道有其他方法可以做到这一点,但我想找出我的代码有什么问题。
for fname in "*"
do
h=$fname
if [ -f $h ]
then
echo $fname
fi
done
删除周围的双引号,*
请参阅:
for fname in *
do
h=$fname
if [ -f $h ]
then
echo $fname
fi
done
希望这会奏效。
双引号:用双引号括起来的变量被扩展。
这就是您的代码抛出错误的原因:“参数太多”。
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