درود یک سوال
توی اسکریپت نویسی چه جوری میشه از یک عدد اینتیجر استفاده کرد ؟ مگه اینجوری نیست که همه متغیر ها رو استرینگ میشناسه به صورت پیش فرض
البته یه جا تو همین سایت دیدم یه کانتر رو اینجوری نوشته اما نفهمیدم کارکردش چه جوریه :
var=$(($var+1))
سپاس
سلام همونطور که شما نوشته اید به طور پیشفرض با اعداد به عنوان رشته رفتار می شود وهمانطور که aliva نوشته اگر عبارت را به برنامه خارجی مثل bc که فقط با محاسبات سروکار دارد بفرستید به عنوان اعداد در نظر گرفته میشن در اصل در هر دو موردی که aliva اشاره کرده شل را مجبور می کنی که حساب کنه.
اماجواب شما : برای اینکه به عنوان عدد در نظر گرفته بشن می تونی از دستور let هم استفاده کنی که در این صورت در طرف دوم اگر فاصله قرار بدی حتما باید از علامت نقل قول هم استفاده کنی. اما این دوتا پرانتزها که استفاده شده بهترین حالت هستند و هرچی که داخل اونا باشه عددی در نظر گرفته میشه تو بش حتی اون علامت دلار جلوی var هم توی پرانتزها لازم نیست حالا به کد زیر نگاه کن
a='12'
echo $a+10
12+10
let a=a+10
echo $a
22
echo ((a+10))
22
نمی دونم تونستم مطلب را اونطور که لازمه روشن کنم یا نه! به هر حال داخل اون جفت پرانتزها گفتی نمی دونی چه جوری باید بگم که محیط داخل اونها محاسبه ای میشه علامت دلار داخل پرانتز به معنی اینه که مقدار var قرار داده بشه و علامت دلار جلوی پرانتزها هم برای جایگزینی نتیجه داخل پرانتزها هستش echo هم که می دونی دیگه
راستی چرا اینتجر وقتی می تونی بگی عدد صحیح یا چرا استرینگ وقتی می تونی بگی رشته یا حتی string وچرا نمی گی شماشگر یا counter و می گی کانتر؟!!