مميزات - نظام تشغيل لينكيس linux تحميل




هل يدعم نظام تشغيل shell shell بنية بيانات القائمة؟ (2)

هذا السؤال ليس هو نفسه كما مجموعات الدعم قذيفة؟

أعرف الكثير من بنية قائمة دعم لغة البرنامج النصي ، مثل python و python و ruby ​​و javascript ، فماذا عن linux shell؟

هل تدعم شل مثل بناء الجملة؟

for i in list:
do
     print i
done

أود أولاً تهيئة قائمة ، على سبيل المثال:

ListName = [ item1, item2, ..., itemn ]

ثم التكرار على ذلك

هل هذا ممكن عند برمجة نصوص شل؟


لإعداد قائمة ، ببساطة القيام بذلك

colors=(red orange white "light gray")

تقنيًا صفيف ، لكن - بالطبع - لديه كل ميزات القائمة.
يتم تنفيذ حتى قائمة الثعبان مع مجموعة


يدعم القوائم ، ولكن ليس كهيكل بيانات منفصل (تجاهل المصفوفات في الوقت الحالي).

تتكرر حلقة for على قائمة (بالمعنى العام) لقيم مفصولة بمسافة بيضاء ، بغض النظر عن كيفية إنشاء هذه القائمة ، سواءً حرفيًا:

for i in 1 2 3; do
    echo "$i"
done

أو عن طريق توسيع المعلمة:

listVar="1 2 3"
for i in $listVar; do
    echo "$i"
done

أو استبدال الأوامر:

for i in $(echo 1; echo 2; echo 3); do
    echo "$i"
done

الصفيف هو مجرد معلمة خاصة يمكن أن تحتوي على قائمة ذات قيمة أكثر تنظيماً ، حيث يمكن أن يحتوي كل عنصر بحد ذاته على مسافة بيضاء. قارن الفرق:

array=("item 1" "item 2" "item 3")
for i in "${array[@]}"; do   # The quotes are necessary here
    echo "$i"
done

list='"item 1" "item 2" "item 3"'
for i in $list; do
    echo $i
done
for i in "$list"; do
    echo $i
done
for i in ${array[@]}; do
    echo $i
done




ash