Fish-shell: كيف يمكنني اختبار سلسلة في سلسلة أخرى؟

تم إنشاؤها على ١٩ يناير ٢٠١٣  ·  4تعليقات  ·  مصدر: fish-shell/fish-shell

أقول أريد أن إذا كان "داروين أو لينكس" في صدى (uname -a) ، حاولت أنه يحتوي ، لا يعمل ، لأنه يحتوي على اختبار إذا كانت هناك كلمة موجودة في القائمة.

هل هناك طريقة سهلة للقيام بذلك؟

شكر !

question

التعليق الأكثر فائدة

طريقة أخرى ستكون

switch (uname -a)
    case "*Darwin*"
        echo darwin stuff
    case "*Linux*"
        echo linux stuf
end

لكني أعتقد أن هذا السؤال تمت الإجابة عليه ، لذا سأغلقه.

ال 4 كومينتر

switch (uname -a | cut -d ' ' -f 1)
  case 'Darwin'
    echo 'do stuff'
  case 'Linux'
    echo 'do other stuff'
end

يمكنك أيضًا استخدام grep ، خاصة إذا كنت تريد القيام بنفس الإجراء لأي من هؤلاء.

if uname -a | grep 'Darwin\|Linux' >/dev/null
  echo 'do stuff'
end

شكرا تيرلار.

مرحبًا terlar ، أعتقد أن إصدار grep الخاص بك أفضل ، لأنني أستطيع اكتشاف ما إذا كان ubuntu ، ثم يمكنني تحديد بعض الوظائف التي تعمل فقط في Ubuntu. إنه أكثر تحديدًا.

شكرا لك مرة أخرى .

طريقة أخرى ستكون

switch (uname -a)
    case "*Darwin*"
        echo darwin stuff
    case "*Linux*"
        echo linux stuf
end

لكني أعتقد أن هذا السؤال تمت الإجابة عليه ، لذا سأغلقه.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات