0
我的代碼不起作用。在if
-它聲明「太多的論據」。我知道有其他方法可以做到這一點,但我想知道我的代碼有什麼問題。我想列出目錄中的所有文件
for fname in "*"
do
h=$fname
if [ -f $h ]
then
echo $fname
fi
done
我的代碼不起作用。在if
-它聲明「太多的論據」。我知道有其他方法可以做到這一點,但我想知道我的代碼有什麼問題。我想列出目錄中的所有文件
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
希望這會工作。
Double quotes: Variables are expanded when enclosed in double quotes.
這就是爲什麼你的代碼拋出錯誤:「太多的參數」。
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