Theme
Primary Color

اكتشاف فشل مرحلة داخل Pipe بإستخدام pipefail

حالة خروج سلسلة الأوامر تكون عادة حالة آخر أمر فقط وده ممكن يخفي فشل مرحلة سابقة

نفذ المثال بإستخدام Bash داخل مجلد تدريب جديد تملكه على GNU/Linux والأوامر لا تحتاج sudo

المثال العملي

(
  set +o pipefail
  false | cat
  printf 'Default: %s\n' "$?"
  set -o pipefail
  false | cat
  printf 'Pipefail: %s\n' "$?"
)

النتيجة

Default: 0
Pipefail: 1

الأمر cat نجح رغم فشل false لكن تفعيل pipefail جعل السلسلة ترجع حالة فشل

جرب بنفسك

جرب true | false وقارن النتيجة قبل وبعد تفعيل الخيار

linux شرح