OnWorks Linux و Windows Online WorkStations

الشعار

استضافة مجانية على الإنترنت لمحطات العمل

<السابق | المحتويات | التالي>

وتلخيصا

بمعرفتنا لـ For الأمر ، سنقوم الآن بتطبيق التحسينات النهائية على sys_info_page النصي. حاليا ، report_home_space الوظيفة تبدو كالتالي:



Report_home_space () {

إذا [[$ (id -u) -eq 0]]؛ ثم القط << - _EOF_

استخدام مساحة المنزل (كل المستخدمين)

$ (du -sh / home / *)

_EOF_

آخر

قطة << - _EOF_

استخدام المساحات المنزلية ($ USER)

$ (du -sh $ HOME)

_EOF_

عودة fi

}

Report_home_space () {

إذا [[$ (id -u) -eq 0]]؛ ثم القط << - _EOF_

استخدام مساحة المنزل (كل المستخدمين)

$ (du -sh / home / *)

_EOF_

آخر

قطة << - _EOF_

استخدام المساحات المنزلية ($ USER)

$ (du -sh $ HOME)

_EOF_

عودة fi

}


بعد ذلك ، سنعيد كتابته لتوفير مزيد من التفاصيل عن الدليل الرئيسي لكل مستخدم ، بما في ذلك العدد الإجمالي للملفات والأدلة الفرعية في كل منها:



Report_home_space () {

Report_home_space () {


التنسيق المحلي = "٪ 8s٪ 10s٪ 10s \ n"

المحلية i dir_list total_files total_dirs total_size اسم المستخدم


إذا [[$ (id -u) -eq 0]]؛ ثم dir_list = / home / * user_name = "All Users"

آخر

dir_list = $ HOME user_name = $ USER

fi


صدى صوت " استخدام مساحة المنزل ($ user_name) "لأني في $ dir_list؛ do

total_files = $ (اعثر على $ i -type f | wc -l) total_dirs = $ (اعثر على $ i -type d | wc -l) total_size = $ (du -sh $ i | cut -f 1)


صدى صوت " أنا $ " صدى صوت " "

printf "$ format" "Dirs" "الملفات" "الحجم" printf "$ format" "----" "-----" "----"

printf "تنسيق $" $ total_dirs $ total_files $ total_size echo " "

انتهى العودة

}

التنسيق المحلي = "٪ 8s٪ 10s٪ 10s \ n"

المحلية i dir_list total_files total_dirs total_size اسم المستخدم


إذا [[$ (id -u) -eq 0]]؛ ثم dir_list = / home / * user_name = "All Users"

آخر

dir_list = $ HOME user_name = $ USER

fi


صدى صوت " استخدام مساحة المنزل ($ user_name) "لأني في $ dir_list؛ do

total_files = $ (اعثر على $ i -type f | wc -l) total_dirs = $ (اعثر على $ i -type d | wc -l) total_size = $ (du -sh $ i | cut -f 1)


صدى صوت " أنا $ " صدى صوت " "

printf "$ format" "Dirs" "الملفات" "الحجم" printf "$ format" "----" "-----" "----"

printf "تنسيق $" $ total_dirs $ total_files $ total_size echo " "

انتهى العودة

}


تطبق إعادة الكتابة هذه الكثير مما تعلمناه حتى الآن. ما زلنا نختبر المستخدم المتميز ، ولكن بدلاً من تنفيذ مجموعة كاملة من الإجراءات كجزء من if، قمنا بتعيين بعض المتغيرات المستخدمة لاحقًا في حلقة for. لقد أضفنا العديد من المتغيرات المحلية إلى الدالة واستخدمناها printf لتنسيق بعض الإخراج.


أفضل الحوسبة السحابية لنظام التشغيل في OnWorks: