آشنایی با پارامترهای اسکریپتی

کاربران غالباً نیاز دارند تا برای یک اسکریپت خاص یکسری پارامترهای ورودی درنظر بگیرند که از جملهٔ این پارامترها می‌توان به نام فایل، تاریخ و … اشاره کرد. جالب است بدانیم که نوع این پارامترهای ورودی هم می‌توانند عددی باشند و هم چیزی همچون یک فایل:

$ ./script.sh /tmp
$ ./script.sh 100 200

همان‌طور که در کامند فوق مشاهده می‌شود، در مورد اول فایلی تحت‌عنوان tmp به‌عنوان پارامتر ورودی درنظر گرفته شده است و در مورد دوم از ۲ عدد مختلف به‌عنوان پارامترهای ورودی استفاده شده است. در اسکریپت‌نویسی شل، پارامتر (آرگومان) بااستفاده از یک علامت $ و یک عدد مشخص می‌شود؛ جدول زیر برخی از این پارامترها را نشان می‌دهد:

پارامتر کاربرد $0 نام اسکریپت $1 اولین پارامتر $2، $3 و غیره دومین، سومین و … پارامتر *$ تمامی پارامترها #$ تعداد آرگومان‌ها

برای روشن‌تر شدن این مسأله، مثالی می‌زنیم؛ در ادیتور دلخواه خود فایلی تحت‌عنوان script.sh ساخته و محتویات زیر را داخل آن کپی کنید:

#!/bin/bash
echo "The name of this program is: $0"
echo "The first argument passed from the command line is: $1"
echo "The second argument passed from the command line is: $2"
echo "The third argument passed from the command line is: $3"
echo "All of the arguments passed from the command line are : $*"

سپس همان‌طور که در گذشته آموزش داده شد، بااستفاده از دستور chmod +x این فایل را قابل‌اجرا کنید؛ سپس با درنظر گرفتن ۳ پارامتر one two three، فایل script.sh را اجرا کنید و خروجی این اسکریپت به‌صورت زیر خواهد بود:

The name of this program is: ./script.sh
The first argument passed from the command line is: one
The second argument passed from the command line is: two
The third argument passed from the command line is: three
All of the arguments passed from the command line are: one two three

چنانچه بخواهیم اسکریپت فوق را تفسیر کنیم، بایستی بگوییم که:
- $0 نام اسکریپت را چاپ می‌کند که برابر است با script.sh
- $1 نام اولین پارامتر را چاپ می‌کند که برابر است با one
- $2 نام دومین پارامتر را چاپ می‌کند که برابر است با two
- $3 نام سومین پارامتر را چاپ می‌کند که برابر است با three
- *$ هم نام هر سه پارامتر ورودی را چاپ می‌کند

11-1
درآمدی بر اسکریپت‌نویسی در محیط لینوکس
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-2
معرفی اسکرپیت‌نویسی در محیط Shell
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-3
شروع اسکریپت‌نویسی با Bash
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-4
آشنایی با نحوهٔ Return کردن مقادیر در Shell
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-5
لیست کاراکترهای خاص برای اکسریپت‌نویسی در Bash
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-6
آشنایی با مفهوم Redirection ورودی‌ها و خروجی‌ها در اسکرپیت‌نویسی Shell
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-7
کامندهای از پیش تعریف شدهٔ Shell
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-8
آشنایی با پارامترهای اسکریپتی
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-9
جایگزینی کامندها در اسکریپت‌نویسی Shell
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-10
درآمدی بر Environment Variables در لینوکس
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-11
آشنایی با مفهوم فانکشن در اسکریپت‌نویسی Shell
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-12
آشنایی با نحوهٔ استفاده از دستورات شرطی در اسکریپت‌نویسی
بهزاد مرادی
۱۳۹۶/۰۵/۰۹
11-13
درآمد بر اکسپرشن‌های ریاضیاتی در اسکریپت‌نویسی Shell در لینوکس
بهزاد مرادی
۱۳۹۶/۰۵/۱۰
11-14
کار با String در اسکریپت‌نویسی لینوکس
بهزاد مرادی
۱۳۹۶/۰۶/۱۶
11-15
نحوهٔ استفاده از دستور case در اسکریپت‌نویسی شل
بهزاد مرادی
۱۳۹۶/۰۶/۱۸
11-16
آشنایی با نحوهٔ به‌کارگیری از Loop در اسکریپت‌نویسی بش
بهزاد مرادی
۱۳۹۶/۰۶/۱۹
11-17
آشنایی با فرایند دیباگینگ اسکریپت‌های شل
بهزاد مرادی
۱۳۹۶/۰۶/۲۰
نظرات
اگر login نکردی برامون ایمیلت رو بنویس: