صفحه: [1]
  چاپ صفحه  
نويسنده موضوع: آموزش مقدماتی برنامه نویسی Bash script (قسمت 1)  (دفعات بازدید: 342 بار)
Hamed Aghamoradi
Newbie


امتیاز 0
تعداد ارسال: 2


آموزش مقدماتی برنامه نویسی Bash script (قسمت 1)
« : سپتامبر 26, 2010, 12:25:09 »

این خود آموز برای آن دسته که هیچگونه دانش قبلی درباره Bash Script ندارند نوشته شده است.
آن چه که شما به زودی در این آموزش ها خواهید دید،آموختن زبان برنامه نویسی بش اسکریپت به صورت خیلی آسان می باشد.
بیایید شروع این آموزش را با یک مثال با نام "thank zanjanlug"  آغاز کنیم
1)   مثال Thank Zanjanlug bash shell script:
شما در ابتدا شما نیاز به پیدا کردن مترجم دارید تا بدانید در کجا قرار گرفته است، عبارت زیر را در خط فرمان خود وارد کنید:
کد:
$ which bash
ویرایشگر متن مورد علاقه خود را باز کنید و فایل thank_zanjanlug.sh را ایجاد کنید ، سپس خط زیر را درون فایل قرار دهید:
توجه: هر bash shell script  در این آموزش که با عبارت "#"  شروع می شود به عنوان یک «دیدگاه» است.
کد:
#!/bin/bash
# declare STRING variable
STRING="Thank Zanjanlug"
#print variable on a screen
echo $STRING
خودتان خط فرمان را به جایی که فایل شما " thank_zanjanlug.sh" در آن است هدایت کنید تا برنامه را اجرایی کنید.
کد:
$ chmod +x thank_zanjanlug.sh
کد:
./ thank_zanjanlug.sh
2)   مثال Backup bash shell script:
کد:
#!/bin/bash
tar -czf myhome_directory.tar.gz /home/linuxconfig
3)   متغییر ها:
در این مثال ما یک متغییر ساده باش را تعریف کرده و چاپ آن را بر روی صفحه نمایش (stdout) با دستور اکو را نمایش می دهیم.
کد:
#!/bin/bash
 STRING="HELLO WORLD!!!"
 echo $STRING
اسکریپت پشتیبان شما و متغیرها  :
کد:
#!/bin/bash
 OF=myhome_directory_$(date +%Y%m%d).tar.gz
 tar -czf $OF /home/linuxconfig
3.1) متغییر های جهانی در مقابل متغیرهای محلی:
کد:
#!/bin/bash
#Define bash global variable
#This variable is global and can be used anywhere in this bash script
VAR="global variable"
function bash {
#Define bash local variable
#This variable is local to bash function only
local VAR="local variable"
echo $VAR
}
echo $VAR
bash
# Note the bash global variable did not change
# "local" is bash reserved word
echo $VAR
4)   پاس دادن آرگومان ها در بش اسکریپت:

کد:
#!/bin/bash
# use predefined variables to access passed arguments
#echo arguments to the shell
echo $1 $2 $3 ' -> echo $1 $2 $3'

# We can also store arguments from bash command line in special array
args=("$@")
#echo arguments to the shell
echo ${args[0]} ${args[1]} ${args[2]} ' -> args=("$@"); echo ${args[0]} ${args[1]} ${args[2]}'

#use $@ to print out all arguments at once
echo $@ ' -> echo $@'

# use $# variable to print out
# number of arguments passed to the bash script
echo Number of arguments passed: $# ' -> echo Number of arguments passed: $#'
کد:
/arguments.sh Bash Scripting Tutorial
5)   اجرای دستورات پوسته با  bash:
کد:
#!/bin/bash
# use backticks " ` ` " to execute shell command
echo `uname -o`
# executing bash command without backticks
echo uname –o
6)   خواندن ورودی کاربران :
کد:
#!/bin/bash
 
echo -e "Hi, please type the word: \c "
read  word
echo "The word you entered is: $word"
echo -e "Can you please enter two words? "
read word1 word2
echo "Here is your input: \"$word1\" \"$word2\""
echo -e "How do you feel about bash scripting? "
# read command now stores a reply into the default build-in variable $REPLY
read
echo "You said $REPLY, I'm glad to hear that! "
echo -e "What are your favorite colours ? "
# -a makes read command to read into an array
read -a colours
echo "My favorite colours are also ${colours[0]}, ${colours[1]} and ${colours[2]}:-)"
7) دستورBash Trap
کد:
#!/bin/bash
# bash trap command
trap bashtrap INT
# bash clear screen command
clear;
# bash trap function is executed when CTRL-C is pressed:
# bash prints message => Executing bash trap subrutine !
bashtrap()
{
    echo "CTRL+C Detected !...executing bash trap !"
}
# for loop from 1/10 to 10/10
for a in `seq 1 10`; do
    echo "$a/10 to Exit."
    sleep 1;
done
echo "Exit Bash Trap Example!!!"
   آرایه ها
8.1: اعلان آرایه ساده بش :
کد:
#!/bin/bash
#Declare array with 4 elements
ARRAY=( 'Debian Linux' 'Redhat Linux' Ubuntu Linux )
# get number of elements in the array
ELEMENTS=${#ARRAY[@]}

# echo each element in array
# for loop
for (( i=0;i     echo ${ARRAY[${i}]}
done
8.2: خواندن فایل به آرایه بش :
کد:
#!/bin/bash
#Declare array
 declare -a ARRAY
#Open file for reading to array
exec 10
let count=0

while read LINE
    ARRAY[$count]=$LINE
    ((count++))
done

echo Number of elements: ${#ARRAY[@]}
# echo array's content
echo ${ARRAY[@]}
# close file
exec 10>&-
9)   دستورات if/else بش :
9.1: دستورات ساده if/else بش:
لطفا توجه داشته باشید که فاصله داخل [و] براکت باشد! بدون فاصله ، آن کار نخواهد کرد!
کد:
#!/bin/bash
directory="./BashScripting"

# bash check if directory exists
if [ -d $directory ]; then
echo "Directory exists"
else
echo "Directory does not exists"
fi
9.2: if/else تو در تو :
کد:
#!/bin/bash
 
# Declare variable choice and assign value 4
choice=4
# Print to stdout
 echo "1. Bash"
 echo "2. Scripting"
 echo "3. Tutorial"
 echo -n "Please choose a word [1,2 or 3]? "
# Loop while the variable choice is equal 4
# bash while loop
while [ $choice -eq 4 ]; do
 
# read user input
read choice
# bash nested if/else
if [ $choice -eq 1 ] ; then
 
        echo "You have chosen word: Bash"

else                   

        if [ $choice -eq 2 ] ; then
                 echo "You have chosen word: Scripting"
        else
         
                if [ $choice -eq 3 ] ; then
                        echo "You have chosen word: Tutorial"
                else
                        echo "Please make a choice between 1-3 !"
                        echo "1. Bash"
                        echo "2. Scripting"
                        echo "3. Tutorial"
                        echo -n "Please choose a word [1,2 or 3]? "
                        choice=4
                fi   
        fi
fi
done
خارج شده است

Hamed Aghamoradi
صفحه: [1]
  چاپ صفحه  
 
پرش به :