CƠ BẢN VỀ LINUX SHELL SCRIPT - Trang 12


VietHung soft group -

[email protected]

option = “$option page[$page] line[$line] “

shift;;

-s) size = 10;

shift 2;;

*) echo "Tham so vao khong co trong [p, l, s]";

exit;;

esac

if [ $size = 0 ]

then

size=`echo "$page / $lines" | bc`

else

lines=`echo "$page / $size" | bc`

fi

done

echo “$option $lines $size”


Trong vÝ dô trªn ®∙ ®−a ra c¸ch sö dông cÊu tróc case, ®ång thêi giíi thiÖu c¸ch nhËn vµ xö

lý tham sè ®Çu vµo khi ch¹y mét tÖp shell script. LÖnh shift lµ lÖnh dÞch tham sè ®Çu vµo sang

tr¸i 1 ®Ó thùc hiÖn c¸c tham sè tiÕp theo. §Æc biÖt trong ®ã cßn chØ c¸ch gäi m¸y tÝnh sè víi
sè cÇn tÝnh ®−îc ®−a vµo tr−íc.

6.6 Hµm


Shell hç trî khai b¸o vµ sö dông hµm con, ®©y lµ mét hç trî rÊt h÷u Ých nh−ng cÇn ph¶i khai
b¸o trong phÇn khëi ®éng cña ng−êi sö dông, cô thÓ lµ trong tÖp .profile.

Mét vÝ dô ®¬n gi¶n:

uppercase()

{

echo $1 | tr 'abcdefghijklmnopqrstuvwxyz' \

'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

}


Hµm trªn dïng ®Ó sö dông lÖnh

tr

cña hÖ thèng nh»m chuyÓn c¸c ch÷ th−êng thµnh ch÷ hoa.

ViÖc gäi hµm trªn chØ cÇn viÕt:
uppercase “thu chuyen doi”

hoÆc
smallword = “thu chuyen doi”

uppercase “$smallword”

Nh−ng nh− ®∙ nãi vÒ sù kh¸c biÖt cña kÕt qu¶ trong dÊu nh¸y kÐp, kÕt qu¶ cña hai dßng lÖnh
sau:
largeword = `uppercase “$smallword”`