ආරම්භක මාර්ගෝපදේශ සඳහා BASH - ආදාන පරාමිතීන්

ආරම්භක මාර්ගෝපදේශකයින්ගේ 2 වන කොටස සඳහා සාදරයෙන් පිළිගනිමු BASH ශ්රේණියේ 2 වන කොටස වෙත සාදරයෙන් පිළිගනිමු.

මෙම අත්පොතෙහි පාඨකයින් මගේ දැනුම ගොඩනඟමින් ඔවුන්ගේ දැනුම වර්ධනය කරමි. එය අවසානය වන විට අපට ඉතාම දක්ෂ කුසලතා ලිවීමට හැකි වනු ඇත.

පසුගිය සතියේ මම "හෙලර් වර්ල්ඩ්" යන වචන හුදෙක් ඔබේ මුල් පිටපත නිර්මාණය කිරීම ආවරණය කළා. තේමා සංස්කාරකවරුන්, ටර්මිනල් කවුළුවක් විවෘත කිරීම, ඔබේ තිර පිටපත් කිරීම, "හෙල් වර්ල්" යන වචන සහ quotes ("") වැනි ගැළපෙන අක්ෂර කිහිපයක් ප්රදර්ශනය කරන්නේ කෙසේද යන්න ආවරණය කරයි.

මෙම සතියේ මම ආදාන පරාමිතීන් ආවරණය කිරීමට යමි. මෙවැනි ආකාරයේ ඉගැන්වීම් සපයන වෙනත් මාර්ගෝපදේශ තිබේදැයි මට පෙනේ. නමුත් ඒවා ඉතා තරමක් පහළ මට්ටමක ඇති බවට සොයාගෙන ඇති අතර බොහෝ තොරතුරු සපයයි.

පරාමිතිය යනු කුමක්ද?

අවසාන නිබන්ධනයේ සිට "හෙලෝ වර්ල්ඩ්" අක්ෂරයේ එය ඉතා ස්ථිතික විය. තිර රචනය ඇත්ත වශයෙන්ම බොහෝ දුරට නොවේ.

"හෙලෝ වර්ල්ඩ්" පිටපත මත අපි දියුණු කළ හැක්කේ කෙසේද?

එය ධාවනය කරන පුද්ගලයා ආචාර කරන තිරපිටපතක් ගැන කුමක් ද? හෙලෝ ලෝකය කියන්නේ "හෙලෝ ගේරි", "හෙලෝ ටිම්" හෝ "හෙලෝ ඩොලී" කියනු ඇත.

ආදාන පරාමිතික පිළිගැනීමට හැකියාවක් නොමැතිව "hellogary.sh", "hellotim.sh" සහ "hellodolly.sh" යන ස්ක්රිප්ට් තුනක් ලිවිය යුතුයි.

අපගේ කේත රචනය ආදාන පරාමිතීන් කියවීමට ඉඩ දීමෙන් ඕනෑම අයෙකුට සුබ පතන්නට එක් ස්ක්රිප්ට් එකක් භාවිතා කළ හැකිය.

මෙය කිරීමට ටැට් කවුළුවක් (CTRL + ALT + T) විවෘත කර පහත සඳහන් දෑ ටයිප් කිරීමෙන් ඔබේ තිර පිටපත් ෆෝල්ඩරය වෙත යන්න ( cd cd විධානය )

cd විධානාවලි

පහත දැක්වෙන අකුරු ටයිප් කිරීම මගින් greetme.sh ලෙස නව විධානාවලියක් සාදන්න: ( ස්පර්ශ විධානය ගැන )

touch greetme.sh

ඔබගේ ප්රියතම සංස්කාරකයේ තිර රචනය පහත දැක්වෙන ආකාරයෙන් ටයිප් කරන්න: ( nano විධානය ගැන )

nano greetme.sh

නැනෝ තුල පහත සඳහන් පෙළ ඇතුළත් කරන්න:

#! / bin / bash echo "hello $ @"

CTRL සහ O ගොනුව සුරැකීමට CTRL සහ X යන්න ගොනුව වසා දමන්න.

ස්ක්රිප්ට් එක ක්රියාත්මක කිරීම සඳහා ඔබේ නම සමඟ ආදේශක රේඛාව වෙත පහත සඳහන් ලෙස ඇතුලත් කරන්න.

sh greetme.sh

මගේ නමට පිටපත් රචනය කළොත් එය "හෙලෝ ගේරි" යන වචන දැක්වේ.

පළමු පේළිය බෂ් ස්ක්රිප්ට් එකක් ලෙස හඳුනා ගැනීමට භාවිතා කරන #! / Bin / bash රේඛාව වේ.

දෙවන පේළිය හෙලෝ වචනය ප්රතිනිර්මාණය කිරීම සඳහා echo ප්රකාශය භාවිතා කරයි, එවිට අමුතු ඩොලර් @ අංකනය ඇත. ( echo විධානය ගැන )

$ @ විධානාවලි නාමය සමඟ ඇතුළත් කළ සෑම පරාමිතියක්ම විදහා දක්වයි. ඔබ "sh greetme.sh tim" ටයිප් කළහොත් "hello tim" යන වචන පෙන්වනු ඇත. ඔබ "greetme.sh tim smith" ටයිප් කළහොත්, "හෙලෝ ටීමි smith" යන වචන පෙන්වනු ලැබේ.

Greetme.sh ස්ක්රිප්ට් එකට හොඳ නමක් හෙලෝ හෙලෝ කියන්නට ලැබීම හොඳයි. මට හෙලොයි ගරී නවෙල් කියනවා කවුරුත් කියන්නේ නැහැ, නමුත් ඔවුන් "හිලෝ ගේරි" කියනවා විය හැකිය.

එය මුලින්ම පරාමිතය භාවිතා කරන නිසා තිරපිටපත වෙනස් කරමු. නැනෝ ග්රී්රමී.ෂ විධානාවලිය විවෘත කරන්න:

nano greetme.sh

තිර රචනය පහත පරිදි කියවිය යුතුය:

#! / bin / bash echo "hello $ 1"

CTRL සහ O එසවීමෙන් තිරය සුරකින්න, පසුව CTRL සහ X විසින් එබීමෙන් පිටවන්න.

පහත දැක්වෙන පරිදි තිර පිටපත ක්රියාත්මක කරන්න (ඔබගේ නම වෙනුවට ඔබගේ නම වෙනුවට):

sh greetme.sh ගැරී නවෙල්

ඔබ තිරපිටපත ක්රියාත්මක කරන විට එය හෙලෝ ගේරි (හෝ "හලෝ" සහ ඔබගේ නම කුමක් වේදැයි කියනු ඇත).

$ සංකේතය මූලික වශයෙන් Echo විධානයට කියනුයේ 1 පසුව පළමු පරාමිතිය භාවිතා කරන්න. ඔබ $ 1 වෙනුවට $ 2 වෙනුවට නම් "හෙලෝ නවell" (හෝ ඔබේ වාසගම යනු කුමක්ද) ප්රදර්ශනය කරනු ඇත.

ඔබ $ 2 සමඟ $ 2 වෙනුවට ප්රතිස්ථාපනය කර 2 පරාමිතීන් සහිත තිරපිටපතක් භාවිතා කර ඇත්නම්, ප්රතිදානය හුදෙක් "හෙලෝ" වනු ඇත.

ඇත්ත වශයෙන්ම ඇතුළත් කර ඇති පරාමිති ගණන පෙන්වීම සහ හැසිරවීම පෙන්විය හැකි අතර පසු කාලීන නිබන්ධන වලදී වලංගු කිරීමේ අරමුණු සඳහා පරාමිත්ව ගණනය කිරීමේ ආකාරය පෙන්වනු ඇත.

ඇතුලත් කර ඇති පරාමිතීන් ගණන පෙන්වීම සඳහා greetme.sh විධානාවලිය (nano greetme.sh) විවෘත කර පහත පරිදි සංශෝධනය කරන්න:

#! / bin / bash echo "ඔබ ඇතුළත් කළ $ # නම්" echo "hello $ @"

CTRL සහ O ස්ක්රිප්ට් එකක් CTRL සහ X ආදිය අරඹන්න.

දෙවන පේළියෙහි $ # හි ඇතුලත් කර ඇති පරාමිතීන් ගණන පෙන්වයි.

මේ සියල්ලම මේ සියල්ල නවක වුවත් එය ඉතා ප්රයෝජනවත් නොවේ. "හෙලෝ" ප්රදර්ශනය කරන තිරපිටපතක් කවුද?

Echo ප්රකාශ සඳහා සැබෑ භාවිතය වන්නේ පරිශීලකයා වෙත සාරවත් හා අර්ථවත් නිමැවුම් සැපයීමයි. ඔබට යම් දෙයක් බරපතල ලෙස කඩා දැමීම සහ ගොනු / ෆෝල්ඩර කළමණාකරනය සම්බන්ධව යම් සංකීර්ණ දෙයක් කිරීමට අවශ්ය බව ඔබට සිතමු නම්, මාර්ගයේ එක් එක් පියවරෙහි සිදුවන්නේ කුමක්දැයි පරිශීලකයාට ප්රදර්ශනය කිරීම ප්රයෝජනවත් වනු ඇත.

ඊට ප්රතිවිරුද්ධව, ආදාන පරාමිතීන් ඔබේ ස්ක්රිප්ට් එකක් අන්තර් ක්රියාකාරී වේ ආදාන පරාමිති නොමැතිව ඔබට ඉතා සමාන හා සමාන වෙනස්කම් ඇති නමුත්, තරමක් වෙනස් නම් සහිත අක්ෂර ගණනාවක් ඔබට අවශ්ය වේ.

මේ සියල්ලම මතක තබාගැනීම හොඳ අදහසක් වන තවත් ප්රයෝජනවත් ආදාන පරාමිතීන් තිබේ. ඒවා සියල්ල එක් එක් සංඥාවකට ඇතුළත් කරන්නෙමි.

ඔබගේ greetme.sh විධානාවලිය විවෘත කර එය පහත පරිදි සංශෝධනය කරන්න:

#! / bin / bash echo "ගොනු නාමය: $ 0" echo "ක්රියාවලිය ID: $$" echo "---------------------------- --- "echo" ඔබ $ # නම් "echo" hello $ @ "

CTRL සහ O ඔබන්න, ගොනුව සුරැකීමට සහ CTRL සහ X ඉවත් කිරීමට.

දැන් පිටපත ක්රියාත්මක කරන්න (ඔබගේ නම සමඟ ප්රතිස්ථාපනය කරන්න).

sh greetme.sh

මෙම අවස්ථාවේදී තිර රචනය පහත දැක්වේ:

ගොනු නාමය: greetme.sh ක්රියාව ක්රියාවලිය: 18595 ------------------------------ ඔබ 2 නම් hello ගේරි නවelles ඇතුළු විය

තිරයේ මුල් පේළියේ $ 0 ඔබ ක්රියාත්මක කරන විධානාවලි නම පෙන්වයි. එය ඩොලර් ශුන්යය හා ඩොලරය නොවේ.

දෙවන පේළියෙහි $$ ඔබ විසින් ක්රියාත්මක කරන ලද අක්ෂර කේතයේ ක්රියාවලිය පෙන්වයි. මෙය ප්රයෝජනවත් වන්නේ ඇයි? ඔබ පෙරසැකසුමක තිර රචනයක් ක්රියාත්මක කර ඇත්නම් එය CTRL සහ C මත ක්ලික් කිරීමෙන් ඔබට එය අවලංගු කළ හැකිය නම්, ඔබ පසුබිමේ පසුබිමක අක්ෂර වින්යාසය ආරම්භ කර එය ආරම්භ කිරීම සහ එය එකවරම සිදු කිරීම හෝ ඔබේ පද්ධතියට හානි කිරීමට පටන් ගත්තා නම් මරන්න.

පසුබිමක ක්රියාත්මක වන ස්ක්රිප්ට් එකක් ඝාතනය කිරීම සඳහා ඔබට අවශ්ය කේත රචනයෙහි ක්රියාවලිය අවශ්ය වේ. පිටපත එහි නිෂ්පාදනයේ කොටසක් ලෙස ක්රියාවලිය හැඳුනුම් කරුවහොත් එය හොඳ විය හැකිද? ( ps සහ kill විධානය ගැන )

අවසාන වශයෙන් මා මෙම මාතෘකාව සමග අවසන් වීමට ප්රථම අවසානය නිශ්පාදනය කොතැනද යන්න ගැන සාකච්ඡා කිරීමට මට අවශ්ය විය. තිර රචනය මෙතෙක් ධාවනය කර ඇති සෑම අවස්ථාවකම තිරය මත තිරය දිස්වෙයි.

පිටපත් ගොනුවේ පිටපත් ගොනුවකට ලිවීම සඳහා බොහෝ විට පොදු වේ. මෙය කිරීමට ඔබේ ස්ක්රිප්ට් එක පහත පරිදි වේ:

sh greetme.sh gary> greetme.log

ඉහත විධානය තුල> සංකේතය "hello gary" යනුවෙන් හැඳින්වෙන්නේ greetme.log ගොනුවකටය.

ඔබ විසින් සංකේතය භාවිතා කරන විට සෑම විටම> සංකේතය මඟින් එහි ප්රතිදානය ගොනුවේ ප්රතිවර්තනය කරයි. ඔබ වෙත ගොනු සමඟ එකතු කිරීමට කැමති නම්> සමඟ >>.

සාරාංශය

ඔබට දැන් තිරය වෙත පෙළ ලිවීමට සහ ආදාන පරාමිතීන් පිළිගත යුතුය.