اقرأ محتويات دليل باستخدام البرنامج النصي Shell
-
19-09-2019 - |
سؤال
أحاول الحصول على محتويات دليل باستخدام البرنامج النصي شل.
البرنامج النصي الخاص بي هو:
for entry in `ls`; do
echo $entry
done
ومع ذلك، يحتوي الدليل الحالي على العديد من الملفات مع Whitespaces بأسمائها. في هذه الحالة، فشل هذا البرنامج النصي.
ما هي الطريقة الصحيحة للحلقة على محتويات دليل في SHELT SCRIPTING؟
ملاحظة: أستخدم باش.
المحلول
for entry in *
do
echo "$entry"
done
نصائح أخرى
لا تحليل محتويات الدليل باستخدام ls
في حلقة. سوف تواجه مشاكل فضائية بيضاء. استخدام توسيع شل بدلا من ذلك
for file in *
do
if [ -f "$file" ];then
echo "$file"
fi
done
لا تنتمي إلى StackOverflow