Kusafiri Kupitia Ulimwengu wa Linux BASH Maandishi - Sehemu ya Tatu


Nakala zifuatazo za awali za mfululizo wa ‘Shell Scripting’ zilithaminiwa sana na kwa hivyo ninaandika makala haya ili kupanua mchakato usioisha wa kujifunza.

  1. Elewa Vidokezo vya Msingi vya Lugha ya Uandishi wa Shell ya Linux - Sehemu ya I
  2. Hati 5 za Shell za Linux Wapya Kujifunza Utayarishaji wa Shell - Sehemu ya II

Neno kuu ni neno au ishara ambayo ina maana maalum kwa lugha ya kompyuta. Alama na maneno yafuatayo yana maana maalum kwa Bash wakati hayajanukuliwa na neno la kwanza la amri.

! 			esac 			select 		} 
case 			fi 			then 		[[ 
do 			for 			until 		]] 
done 			function 		while 		elif
if 			time 			else 		in 		{

Tofauti na lugha nyingi za kompyuta, Bash huruhusu maneno muhimu kutumika kama majina tofauti ingawa hii inaweza kufanya maandishi kuwa magumu kusoma. Ili kuweka hati kueleweka, maneno-msingi hayafai kutumika kwa majina tofauti.

Amri inatekelezwa kwa ganda kama $(command). Huenda ukalazimika kujumuisha njia kamili ya amri. k.m., $ (/bin/date), kwa utekelezaji sahihi.

Unaweza kujua njia ya programu maalum kwa kutumia amri ya 'whereis'. k.m., tarehe iko wapi

 whereis date
date: /bin/date /usr/share/man/man1/date.1.gz

Inatosha kwa sasa. Hatutazungumza sana juu ya nadharia hizi sasa. Kuja kwa Hati.

Sogeza Saraka ya Sasa ya Kufanya Kazi

Sogeza kutoka saraka ya sasa ya kufanya kazi hadi ngazi yoyote juu kwa kutoa tu thamani ya nambari mwishoni mwa hati wakati wa kutekeleza.

#! /bin/bash 
LEVEL=$1 
for ((i = 1; i <= LEVEL; i++)) 
do 
CDIR=../$CDIR 
done 
cd $CDIR 
echo "You are in: "$PWD 
exec /bin/bash

Hifadhi misimbo iliyo hapo juu kama up.sh, kwenye eneo-kazi lako. Ifanye itekelezwe (chmod 755 up.sh). Endesha:

./up.sh 2 (itasogeza saraka ya sasa ya kufanya kazi hadi ngazi mbili).
./up.sh 4 (itasogeza saraka ya sasa ya kufanya kazi hadi ngazi nne juu).

Katika hati kubwa zaidi zilizo na folda ndani ya folda ndani... iliyo na maktaba, jozi, ikoni, vinavyoweza kutekelezwa, n.k katika eneo tofauti, Wewe kama msanidi unaweza kutekeleza hati hii ili kuhamia eneo unalotaka kwa mtindo wa kiotomatiki.

Kumbuka: Kwa maana ni kitanzi kwenye hati iliyo hapo juu na itaendelea kutekeleza hadi maadili yawe kweli kwa kitanzi.

 chmod 755 up
 ./up.sh 2
You are in: /

 ./up.sh 4 
You are in: / 

Unda Faili au Folda ya Nasibu

Unda faili nasibu (folda) bila nafasi ya kurudia.

#! /bin/bash

echo "Hello $USER";
echo "$(uptime)" >> "$(date)".txt
echo "Your File is being saved to $(pwd)"

Hii ni hati Rahisi lakini inafanya kazi sio rahisi sana.

  1. ‘echo‘ : Huchapisha kila kitu kilichoandikwa ndani ya manukuu.
  2. ‘$‘ : Ni muundo wa ganda.
  3. ‘>>’ : Toleo linaelekezwa kwingine hadi kwenye pato la amri ya tarehe ikifuatiwa na kiendelezi cha txt.

Tunajua matokeo ya amri ya tarehe ni tarehe, na wakati katika saa, dakika, pili pamoja na mwaka. Kwa hivyo tunaweza kupata pato kwa jina la faili lililopangwa bila nafasi ya kurudia jina la faili. Inaweza kuwa muhimu sana wakati mtumiaji anahitaji faili iliyoundwa na stempu ya wakati kwa marejeleo ya baadaye.

 ./randomfile.sh  
Hello server 
Your File is being saved to /home/server/Desktop

Unaweza kutazama faili ambayo imeundwa kwenye eneo-kazi kwa kutumia Tarehe ya Leo na wakati wa sasa.

 nano Sat\ Jul\ 20\ 13\:51\:52\ IST\ 2013.txt 
13:51:52 up  3:54,  1 user,  load average: 0.09, 0.12, 0.08

Utekelezaji wa kina zaidi wa hati iliyo hapo juu imetolewa hapa chini, ambayo inafanya kazi kwa kanuni hapo juu na ni muhimu sana katika kukusanya taarifa za mtandao wa seva ya Linux.

Hati ya Kukusanya Taarifa za Mtandao

Hukusanya taarifa za mtandao kwenye seva ya Linux. Hati ni kubwa sana na haiwezekani kuchapisha msimbo mzima na matokeo ya hati hapa. Kwa hivyo, ni bora unaweza kupakua hati kwa kutumia kiungo cha upakuaji hapa chini na ujaribu mwenyewe.

Kumbuka: Huenda ukahitaji kusakinisha lsb-msingi kifurushi na vifurushi vingine vinavyohitajika na utegemezi. Apt au Yum vifurushi vinavyohitajika. Ni wazi unahitaji kuwa mzizi ili kuendesha hati kwa sababu amri nyingi zinazotumiwa hapa zimesanidiwa kuendeshwa kama mzizi.

 ./collectnetworkinfo.sh  

The Network Configuration Info Written To network.20-07-13.info.txt. Please email this file to [email _provider.com. ktop

Unaweza kubadilisha barua pepe iliyo hapo juu kwenye hati yako ili itumiwe kwako. Faili inayozalishwa kiotomatiki inaweza kutazamwa.

Hati hadi Hubadilisha UPPERCASE kuwa herufi ndogo

Hati inayobadilisha UPPERCASE kuwa herufi ndogo na kuelekeza towe kwenye faili ya maandishi small.txt ambayo inaweza kurekebishwa inavyohitajika.

#!/bin/bash 

echo -n "Enter File Name : " 
read fileName 

if [ ! -f $fileName ]; then 
  echo "Filename $fileName does not exists" 
  exit 1 
fi 

tr '[A-Z]' '[a-z]' < $fileName >> small.txt

Hati hii hapo juu inaweza kubadilisha kesi ya faili ya urefu wowote kwa mbofyo mmoja kutoka kwa herufi kubwa hadi herufi ndogo na kinyume chake ikiwa inahitajika, na urekebishaji mdogo.

 ./convertlowercase.sh  
Enter File Name : a.txt 

Initial File: 
A
B
C
D
E
F
G
H
I
J
K
...

Toleo la Faili Mpya (small.txt):

a
b
c
d
e
f
g
h
i
j
k
...

Programu rahisi ya Calculator

#! /bin/bash 
clear 
sum=0 
i="y" 

echo " Enter one no." 
read n1 
echo "Enter second no." 
read n2 
while [ $i = "y" ] 
do 
echo "1.Addition" 
echo "2.Subtraction" 
echo "3.Multiplication" 
echo "4.Division" 
echo "Enter your choice" 
read ch 
case $ch in 
    1)sum=`expr $n1 + $n2` 
     echo "Sum ="$sum;; 
        2)sum=`expr $n1 - $n2` 
     echo "Sub = "$sum;; 
    3)sum=`expr $n1 \* $n2` 
     echo "Mul = "$sum;; 
    4)sum=`expr $n1 / $n2` 
     echo "Div = "$sum;; 
    *)echo "Invalid choice";; 
esac 
echo "Do u want to continue (y/n)) ?" 
read i 
if [ $i != "y" ] 
then 
    exit 
fi 
done
 ./simplecalc.sh 

Enter one no. 
12 
Enter second no. 
14 
1.Addition 
2.Subtraction 
3.Multiplication 
4.Division 
Enter your choice 
1 
Sum =26 
Do u want to continue (y/n)) ? 
y
1.Addition 
2.Subtraction 
3.Multiplication 
4.Division 
Enter your choice 
3 
mul = 14812
Do u want to continue (y/n)) ? 
n

Kwa hivyo uliona jinsi ilivyokuwa rahisi kuunda programu yenye nguvu kama mahesabu kwa njia rahisi. Sio mwisho wake. Tutakuwa tukiunda angalau nakala moja zaidi ya safu hii, inayoshughulikia mtazamo mpana kutoka kwa maoni ya usimamizi.

Hayo ni yote kwa sasa. Kuwa msomaji na mkosoaji bora usisahau kutuambia ni kiasi gani na nini ulifurahia katika makala hii na nini unataka kuona katika makala ya baadaye. Swali lolote linakaribishwa sana katika maoni. Hadi wakati huo uwe na afya njema, salama na ukiwa makini. Like na Share nasi tukusaidie kusambaa.