ඇයි මේ Command Line arguments අවශ්ය වෙන්නෙ.
ප්රධාන
කාරණා දෙකක් තියෙනව.
- කමාන්ඩ් එකට අවශ්ය option එකක් ලබා දීමට.echo -e “mad”මේකෙ මේ -e කියල තියෙන්නෙ පළමු argument එක ඒක echo කියන command එකේ option එක.
- කමාන්ඩ් එකට මොන files ද reading and writing කරන්න ඕන කියල ලබා දෙන එක.rm කියන කමාන්ඩ් එකෙන් පුලුවන් file එකක් remove කරන්න ඒ කිව්වෙ delete කරන්න ඉතින් එහෙම කරන්න මොන file එකද අයින් කරන්න ඔන කියල කමාන්ඩ් එකට දෙන්න ඔන. ඒක කරන්නෙ මෙහෙමයි.
rm file එකේ
නම
rm filename
ඊළඟට
බලමු කොහොමද command line arguments
අපේ shell
ස්ක්රිප්ට්
එකට pass කරන්නෙ
කියල.
අපි
හදපු my.shell
කියල
ශෙල් script
එකක්
තියනව කියල හිතමු.
දැන්
ටර්මිනල් එකෙන් ඒක රන් කරමු
24 කියන
argument එකත්
pass කරගෙන.
./my.shell 24
මේවගේ
අපට කැමති arguments ගණනක්
pass කරන්න
පුලුවන්.ඊළඟට
බලමු කොහොමද අපි ටර්මිනල්
එකෙන් පාස් කරපු arguments
ශෙල් එක
ඇතුලෙදි අල්ල ගන්නෙ කියල.අපි
හිතමු අපි අපි argument තුනක්
පාස් කරා කියල ඒ තුන අපට $1
, S2 , $3 කියල
හදා ගනිපු වේරියබල් තුනකින්
ඒ පාස් කරපුව අල්ල ගන්න පුලුවන්.
සරලවම කිව්වෙත්
$1 කියල
හදපු වේරියබල් එකට පළමු argument
එකත් $2
ට දෙවනි
argument එකත්
S3 ට
තුන්වෙනි argument එකත්
assign වෙනව.තවමත්
පැහැදිලි නැත්තම් මේ උදාහරණය
බලන්න.
අපි
මුලින්ම හදාගනමු my.shell
කියල script
එකක් ඒකෙ
මෙන්න මෙහෙම ටයිප් කරල save
කරගන්න.
#########################################
# gedit my
#!/bin/bash
# Catch arguments
# sh scriptname 1
2 3
echo "My
1st Argument is : $1"
echo "My
2nd Argument is : $2"
echo "My
3rd Argument is : $3"
#########################################
දැන්
ටර්මිනල් එකේ මේක රන් කරනකොට
මෙන්න මේ විදියට argument
තුනකුත්
එක්ක රන් කරන්න.
./my.sh 5 9 4
resutl එක
මෙන්න මේ විදියට පෙනේවි.
My 1st Argument
is : 5
My 2nd Argument
is : 9
My 3rd Argument
is : 4
අපි
පාස් කරපු එක shell එක
ඇතුලෙදි අල්ලගෙන ප්රින්ට්
කරපු එක තමයි මෙතනදි සිද්ද
උනෙ.තව
වැදගත් වෙන දේවල් කිහිපයක්
බලමු ඊළඟට
01. $0 කියන
වේරියබල් එකක් හැදුවොත් ඒකට
assign වෙනව
shell එකේ
නම.
02.$*
හරි
$@
කියන
ඒවයින් ටර්මිනල් එකෙන් එවන
argument
ඔක්කෙම එක පාරට අල්ල ගන්න පුලුවන්
.
මේ
උදාහරන කරල බලන්න ඒවයින්
තේරුම් ගන්න පුලුවන් ලේසියෙන්ම
.
Arguments
කැමති
ගානකුත් එක්ක මේක රන් කරන්න
.
#########################################
# gedit my
#!/bin/bash
# Catch arguments
#
echo
"My Arguments are : $@"
#########################################
Arguments
තුනක්
එක්ක මේක රන් කරන්න
.
#########################################
# gedit my
#!/bin/bash
# Catch arguments
#
echo
"My Argument name is : $0"
echo
"My Arguments are : $1"
echo
"My Arguments are : $2"
echo
"My Arguments are : $3"
#########################################
තව
මතක තියා ගන්න ඕන කරුණක් තමයි
$0,$2,$3 කියල
අර්ගියුමන්ට් අල්ල ගන්න
වේරියබල් අපට script එක
ඇතුලෙ ආයෙ භාවිතා කරන්න බැරි
බව.
1 comments:
කියලා තියෙන ඒවානම් නොතරේ නමුත් පුලුවන්නම් Linux වල ZTE Dongel එකක් Intsall කරගන්නා ආකරය ගැන ලිපියක් ලියන්න. මම Ubuntu 10.10 වල එකක් Install කර ගන්න බැරිව කලක ඉදන් තවම ඒ ගැන හොයනවා.
Post a Comment