از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
دریافت خطا در اسکریپت Bash. Expr $a + 1: عبارت عدد صحیح مورد انتظار
سرفصلهای مطلب
Bash محبوب است command-line مفسری که معمولاً در سیستمهای مبتنی بر لینوکس و یونیکس استفاده میشود، زیرا به کاربران اجازه میدهد دستورات و اسکریپتها را در سیستم اجرا کنند. terminal. یکی از رایج ترین خطاهایی که کاربران هنگام کار با Bash با آن مواجه می شوند، این است “expr: عبارت عدد صحیح مورد انتظار” خطا این مقاله نگاه دقیقتری به این خطا، چرایی بروز آن و روش اصلاح آن میاندازد، بنابراین اگر با همان خطا مواجه هستید، این راهنما را بخوانید.
خطای Expr: Integer Expression Expected چیست؟
این “expr: عبارت عدد صحیح مورد انتظار است” error یک پیام خطایی است که توسط پوسته Bash زمانی که کاربر تلاش می کند یک عبارت ریاضی حاوی کاراکترهای غیر عددی را اجرا کند ایجاد می شود. خطا معمولاً با یک شماره خط همراه است که نشان می دهد خطا در کجای اسکریپت رخ داده است.
چرا خطای Expr: Integer Expression Expected رخ می دهد؟
“expr: عبارت عدد صحیح مورد انتظار خطا زمانی رخ می دهد که کاربر تلاش می کند یک عملیات ریاضی را با استفاده از مقادیر غیر عددی انجام دهد. به عنوان مثال، اگر کاربری تلاش کند رشته ای را به یک عدد اضافه کند، پوسته Bash آن را ایجاد می کند “expr: عبارت عدد صحیح مورد انتظار” خطا بیایید به مثالی از کد معیوب نگاه کنیم که این خطا را می دهد:
آ=0
ب=3
در حالی که [ “$a“ -lt $b ]
انجام دادن
اکو $a
آ=“expr $a + 1″
انجام شده
در اینجا کد بالا از حلقه while برای حمل استفاده می کند روی علاوه بر این process که متغیر اول را مقایسه می کند، یعنی آ که مقدار آن با متغیر دوم 0 است ب که مقدار داده شده 3 است. حلقه حفظ می شود روی اجرا می شود تا زمانی که شرط false شود، یعنی a کمتر از b باشد، جمع با استفاده از دستور expr انجام می شود. پیام خطا “expr $0 + 1: عبارت عدد صحیح مورد انتظار” نشان می دهد که مشکلی در روش تلاش اسکریپت برای افزایش مقدار “a” وجود دارد. خطا ناشی از استفاده است نقل قول های دوگانه به جای بکتیک یا علامت دلار با پرانتز برای اجرای دستور expr:
برای رفع خطا، اسکریپت باید از بکتیک (`) برای اجرای دستور “expr” و ارزیابی عبارت حسابی، در اینجا کد صحیحی است که از بکتیک ها استفاده می کند:
آ=0
ب=3
در حالی که [ “$a“ -lt $b ]
انجام دادن
اکو $a
آ=`expr $a + 1`
انجام شده
در اینجا من فقط نقل قول های دوبل را با بکتیک ها جایگزین کردم و اکنون دستور expr می گیرد آ به عنوان یک عدد صحیح و جمع را انجام می دهد این شرط در حلقه while false می شود:
نتیجه
این “expr: عبارت عدد صحیح مورد انتظار” خطا یک خطای رایج است که در Bash زمانی رخ می دهد که کاربران تلاش می کنند عملیات ریاضی را انجام دهند روی مقادیر غیر عددی برای تصحیح این خطا، مهم است که مطمئن شویم همه مقادیر در عبارات ریاضی ما عددی هستند. با انجام این کار، می توانیم از این خطا جلوگیری کنیم و اطمینان حاصل کنیم که اسکریپت های ما همانطور که در نظر گرفته شده است اجرا می شوند.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-29 02:25:06