Unix & C 1
در این مطلب به آموزش مقدمات زبان C و Bash خواهیم پرداخت.
ساختار یک فایل C:
#include <HEADER_NAME1>
#include <HEADER_NAME2>
.
.
.
#include <HEADER_NAMEn>
TYPE main( ARGUMENTS ){
CODES
}
یک برنامه C دارای بخش های زیر میباشد:
۱-هدرها(سرفایل ها)(البته در صورت نیاز)
۲-تابع main که هر نوعی میتواند داشته باشد(برخلاف C++).(در مورد انواع در آینده بحث خواهد شد)
۳-کد های داخل تابع اصلی.
هدر ها:هدر ها فایل هایی هستند که حاوی توابع میباشد.(مانند تابع printf() که برای چاپ داده های مختلف بکار میرود.)
تابع main:همانطور که از نامش پیداست این تابع تابع اصلی فایل های C میباشد که کد های اصلی در داخل این تابع نوشته میشوند و بدون وجود این تابع کامپایل فایل C با ارور مواجه خواهد شد.
مثال:برنامه ی چاپ Hello, World!:
#include <stdio.h>
int main(){
printf("Hello, World!");
return 1;
}
در خط اول سرفایل stdio.h را به برنامه وارد کردیم که اکثرا دارای توابع IO (ورودی/خروجی) است.
در خط دوم تابع main را از نوع (int) میباشد تعریف کردیم.(اگر تابع از نوع int باشد یعنی برنامه باید در آخر عدد صحیحی را به سیستم عامل برگرداند تا سیستم عامل از اتمام برنامه مطلع شود.و همانطور که میبینید در خط چهارم با استفاده از کلمه کلیدی return عدد صحیح ۱ را برنامه به سیستم عامل باز میگرداند.)
در خط سوم با استفاده از تابع printf داده ی رشته ای Hello, World! را به خروجی برده ایم(یعنی در صفحه ی نمایش چاپ کرده ایم.)
حال چگونه نتیجه برنامه را مشاهده کنیم؟
قبل از مشاهده کردن نتیجه باید برنامه را Compile کنیم.یعنی فایل c را با استفاده از یک Compiler به فایل اجرایی تبدیل کنیم تا نتیجه را مشاهده کنیم.
Compiler به صورت پیشفرض در اکثر سیستم های یونیکسی نصب شده است.
من کد های چاپ Hello, World! را در یک فایل به نام hello.c در دسکتاپ ذخیره کرده ام.
ابتدا ترمینال را باز کنید و باید با استفاده از ترمینال به صفحه ی دسکتاپ بروید.(چون hello.c در دسکتاپ ذخیره شده است) برای رفتن به دسکتاپ با استفاده از ترمینال از این فرمان استفاده میکنیم:
root@jahanyar:~# cd /Desktop
حالا نوبه ی کامپیال فایل رسیده است!
برای کامپایل از این فرمان استفاده میکنیم:
root@jahanyar:~# gcc hello.c -o hello
gcc نام برنامه کامپایلر است که در سیستم عامل های یونیکسی به صورت پیشفرض نصب شده است.
hello.c نام فایلی است که میخواهیم آنرا کامپایل کنیم.
-o نام و محل ذخیره ی فایل اجرایی را مشخص میکند.
hello نام فایل اجرایی است(هر نامی که دوست دارید میتوانید بگذارید.)
برای اجرای فایل hello از فرمان زیر استفاده میکنیم:
root@jahanyar:~# ./hello
و شما نتیجه زیر را خواهید دید:
Hello, World!
نکته:دستورات C به ; ختم میشوند.
حال برویم سراغ Bash!
بیایید برنامه چاپ Hello, World! را در بش باز نویسی کنیم!
برای اینکار میتوانید مستقیما از خط فرمان اینکار را بکنید و یا کد هارا در داخل یک فایل sh بنویسید.که من هردو روش را خدمتتان عرض میکنم!
خط فرمان:کافیست از فرمان echo استفاده نمایید!
root@jahanyar:~# echo "hello world"
hello world
نوشتن در فایل:
ابتدا یک فایل بسازید.(اسم فایل من hello.sh است و در دسکتاپ ذخیره گردیده است.)
فایل را باز کنید و کد های زیر را بنویسید:
#!/bin/bash
echo "hello world"
توضیحات:
خط اول:هر برنامه بش با این کد شروع میشود.
خط دوم:که با استفاده از فرمان echo پیامی را به خروجی میبریم!
فایل را ذخیره کنید و خارج شوید.
ترمینال را باز کنید با فرمان cd /Desktop به دسکتاپ بروید.(چون فایل hello.sh در دسکتاپ قرار دارد.)
برای اینکه فایل hello.sh حالت اجرایی بگیرد فرمان زیر را وارد کنید:
root@jahanyar:~# chmod +x hello.sh
و با این فرمان فایل را اجرا کرده و نتیجه را ببینید:
root@jahanyar:~# bash hello.sh
hello world
و در نهایت به پایان این قسمت رسیدیم!
در قسمت بعدی به مطالب جالب تری خواهیم پرداخت!