BIẾN TRONG BASH SHELL
1. NGUYỄN THÀNH ĐĂNG 2. NGUYỄN THỊ LỤA 3. HUỲNH VIỆT LINH
GIÁO VIÊN HƯỚNG DẪN: ĐOÀN THIỆN NGÂN
GIỚI THIỆU VỀ
SHELL
SHELL LÀ GÌ?
Shelllà1chươngtrìnhcungcấpgiaodiệnngườidùngdướidạngvăn
bản.ChứcnăngchínhcủaShelllàđọcvàthôngdịchcáclệnhđượcgõ
vàotrongmànhìnhconsole(chếđộhiểnthịtấtcảthôngtinnhậpxuất
dướidạngvănbản)hoặccửasổterminalnằmtrênDesktopcủaGUI
(terminalgiốngnhưmởcửasổcmdtrongWindows).SauđóShellthực
thilệnhvàcóthểđưakếtquảdạngvănbảntớiđầurachuẩn–thườnglà
mànhình.
SHELL LÀ GÌ?
SHELL LÀ GÌ?
MộtvàishellmàLinuxchứa:
BASH(Bourne-AgainShell)
CSH(CShell)
KSH(KornShell)
TCSH
CÁC YẾU TỐ CƠ BẢN
TRONG SHELL
ĐẶC ĐIỂM
Làtrươngtrìnhthôngdịchlệnh
Câulệnhtrongshellcógiátrịtrêntừngdònglệnh
Câulệnhbắtđầubằngdấu#
Trênmộtdònglệnhshellcóthểcómộthoặcnhiềucâulệnh
Mộtcâulệnhcócấutrúc:<tênlệnh>[<thamsố>,…]
Mộtcâulệnhcóthểđượcghépbởinhiềucâulệnhbằngdấu
“;”,hoặc“&&”,“||”và“&”
Biến trong shell
Biến trong shell
Manggiátrịvàgiátrịcóthểthayđổikhichươngtrìnhđược
thựchiện
Có2loạibiếncơbản:Biếnmôitrường(environmentvariable)
vàbiếnthamsố(parametervariable).
Biếnđượcxácđịnhquatêncủabiếnđó
Gángiátrịchobiến:<tênbiến>=<giátrị>
Vídụ:mystring=“HELLOWORLD”
Trướcvàsaudấu=khôngcókhoảngtrống
Sửdụnggiátrịcủabiến:
$<tênbiến>
Vídụ:echo$mystring
echo–n$mystring#Khôngxuốngdòng
Cúphápđọcgiátrịbiếntừbànphím:
read<tênbiến>
Vídụ:
readmyvar#Đọcgiátrịtừbànphím
BIẾN MÔI TRƯỜNG
Khitrìnhshellđượckhởiđộng,nócungcấpsẵnmộtsốbiếnđượckhai
báovàgángiátrịmặcđịnh.Chúngđượcgọilàcácbiếnmôitrường
Cácbiếnnàythườngđượcviếthoađểphânbiệtvớicácbiếndongười
dùngtựđịnhnghĩa(thườnglàkýtựkhônghoa).Nộidungcácbiếnnày
thườnglàtùyvàothiếtlậpcủahệthốngvàngườiquảntrịchophép
ngườidùnghệthốngsửdụng.
Cókhánhiềubiếnmôitrường,nhìnchungcómộtsốbiếncơbảnsau:
Biến môi trường cơ bản
Biến môi
trường
Ý nghĩa
$HOME Chứanộidungcủathưmụcchủ(thưmụcđầutiênkhingườidùngđăngnhập)
$PATH Chưadanhshellcủacácđườngdẫn(phầncáchbằngdấu:)
$PS1 Dấunhắchiểnthịtrêndònglệnh(thườnglà$đốivớiuserkhôngphảiroot)
$SP2 Dấunhắcthứcấp,thôngbáongườidùngnhậpthêmthôngtintrướckhithựchiện
lệnh(thườnglàdấu<)
$IFS Dấuphâncáchcáctrườngtrongdanhshellchuỗi.Biếnnàychứadanhshellmà
shelldùngđểphâncáchcáckýtự.
$0 Chưatêntrươngtrìnhgọitêndònglệnh
$# Sốthamsốtruyềntrêndònglệnh
$$ Mãtiếntrìnhcủashellscriptthựcthi.Bớimãtiếntrìnhlàduynhấttrêntoànhệ
thốngvàolúcscriptthựcthinênthườngcáclệnhtrongscriptdùngtênnàyđểtạo
filelưutạm.
Đểxemcáctênvàgiátrịcácbiếnmôitrườngđangcótadùng:env
Đểxemgiátrịcủamộtbiếnmôitrường:
echo<tênbiếnmôitrường>
Vídụ:
echo$PATH
echo$HOME
Lệnhechocóthểápdụngchotấtcảcácloạibiếncủashell
VÍ DỤ
BIẾN THAM SỐ
Làcácbiếntiếpnhậnthamsốtừngoàivàođểxửlý.
Baogồm2loại:biếngánvàbiếntựđộng
•
Biếngán:làbiếnđượcusertựđặttênvàcảcácgiátrịcủabiến
•
Biếntựđộng:Làcácbiếndohệthốngtựđộngtạora
BIẾN TỰ ĐỘNG
Biếntựđộnglàbiếnchỉđọc,tứclàchúngtachỉđượcđọcgiá
trịcủabiếntựđộngvàkhôngđượcgángiátrịchobiếntự
động
MỘTSỐVÍDỤ:
VÍ DỤ
Các biến $1 $2 $3 là các biến tự động
THANKS FOR WATCHING