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

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

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

$ ./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
آشنایی با فرایند دیباگینگ اسکریپت‌های شل
بهزاد مرادی
۱۳۹۶/۰۶/۲۰
rocket
نظرات
اگر login نکردی برامون ایمیلت رو بنویس: