وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

دریافت خطا در اسکریپت Bash. Expr $a + 1: عبارت عدد صحیح مورد انتظار

0 2
زمان لازم برای مطالعه: 2 دقیقه


Bash محبوب است command-line مفسری که معمولاً در سیستم‌های مبتنی بر لینوکس و یونیکس استفاده می‌شود، زیرا به کاربران اجازه می‌دهد دستورات و اسکریپت‌ها را در سیستم اجرا کنند. terminal. یکی از رایج ترین خطاهایی که کاربران هنگام کار با Bash با آن مواجه می شوند، این است “expr: عبارت عدد صحیح مورد انتظار” خطا این مقاله نگاه دقیق‌تری به این خطا، چرایی بروز آن و روش اصلاح آن می‌اندازد، بنابراین اگر با همان خطا مواجه هستید، این راهنما را بخوانید.

خطای Expr: Integer Expression Expected چیست؟

این “expr: عبارت عدد صحیح مورد انتظار است” error یک پیام خطایی است که توسط پوسته Bash زمانی که کاربر تلاش می کند یک عبارت ریاضی حاوی کاراکترهای غیر عددی را اجرا کند ایجاد می شود. خطا معمولاً با یک شماره خط همراه است که نشان می دهد خطا در کجای اسکریپت رخ داده است.

چرا خطای Expr: Integer Expression Expected رخ می دهد؟

expr: عبارت عدد صحیح مورد انتظار خطا زمانی رخ می دهد که کاربر تلاش می کند یک عملیات ریاضی را با استفاده از مقادیر غیر عددی انجام دهد. به عنوان مثال، اگر کاربری تلاش کند رشته ای را به یک عدد اضافه کند، پوسته Bash آن را ایجاد می کند “expr: عبارت عدد صحیح مورد انتظار” خطا بیایید به مثالی از کد معیوب نگاه کنیم که این خطا را می دهد:

#!/bin/bash
آ=0
ب=3

پیشنهاد می‌کنیم بخوانید:  چگونه یک فایل YAML را در Bash تجزیه کنم؟

در حالی که [ $a -lt $b ]
انجام دادن

اکو $a

آ=“expr $a + 1″
انجام شده

در اینجا کد بالا از حلقه while برای حمل استفاده می کند روی علاوه بر این process که متغیر اول را مقایسه می کند، یعنی آ که مقدار آن با متغیر دوم 0 است ب که مقدار داده شده 3 است. حلقه حفظ می شود روی اجرا می شود تا زمانی که شرط false شود، یعنی a کمتر از b باشد، جمع با استفاده از دستور expr انجام می شود. پیام خطا “expr $0 + 1: عبارت عدد صحیح مورد انتظار” نشان می دهد که مشکلی در روش تلاش اسکریپت برای افزایش مقدار “a” وجود دارد. خطا ناشی از استفاده است نقل قول های دوگانه به جای بکتیک یا علامت دلار با پرانتز برای اجرای دستور expr:

دریافت خطا در اسکریپت Bash. Expr $a + 1: عبارت عدد صحیح مورد انتظار

برای رفع خطا، اسکریپت باید از بکتیک (`) برای اجرای دستور “expr” و ارزیابی عبارت حسابی، در اینجا کد صحیحی است که از بکتیک ها استفاده می کند:

#!/bin/bash

آ=0
ب=3

در حالی که [ $a -lt $b ]
انجام دادن

اکو $a

آ=`expr $a + 1`
انجام شده

در اینجا من فقط نقل قول های دوبل را با بکتیک ها جایگزین کردم و اکنون دستور expr می گیرد آ به عنوان یک عدد صحیح و جمع را انجام می دهد این شرط در حلقه while false می شود:

دریافت خطا در اسکریپت Bash. Expr $a + 1: عبارت عدد صحیح مورد انتظاردریافت خطا در اسکریپت Bash. Expr $a + 1: عبارت عدد صحیح مورد انتظار

نتیجه

این “expr: عبارت عدد صحیح مورد انتظار” خطا یک خطای رایج است که در Bash زمانی رخ می دهد که کاربران تلاش می کنند عملیات ریاضی را انجام دهند روی مقادیر غیر عددی برای تصحیح این خطا، مهم است که مطمئن شویم همه مقادیر در عبارات ریاضی ما عددی هستند. با انجام این کار، می توانیم از این خطا جلوگیری کنیم و اطمینان حاصل کنیم که اسکریپت های ما همانطور که در نظر گرفته شده است اجرا می شوند.

پیشنهاد می‌کنیم بخوانید:  مجموع یک ستون را با استفاده از اسکریپت "Awk" در Bash محاسبه کنید

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-29 02:25:06

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید