Tham bieˆ´n và các bieˆ´n soˆ ´ Môi tru’o`’ng cu’a heˆ

Một phần của tài liệu Tài liệu Linux cho người dùng doc (Trang 38 - 39)

3 Bash

3.6Tham bieˆ´n và các bieˆ´n soˆ ´ Môi tru’o`’ng cu’a heˆ

˙ng thái thoát ra cu’a câu leˆ

˙nh sau cùng trong d¯u’o`’ng oˆ´ng. O’’ tru’o´’c câu leˆ

˙nh d¯aˆ`u tiên cu’a d¯u’o`’ng oˆ´ng có theˆ’ d¯a˘

˙t ký hieˆ

˙u "!", khi d¯ó tra

˙ng thái thoát ra cu’a d¯u’o`’ng oˆ´ng se˜ là phu’ d¯i ˙nh lôgíc cu’a tra

˙ng thát thoát ra cu’a leˆ

˙nh cuoˆ´ i cùng trong d¯u’o`’ng oˆ´ng. Tu´’c là neˆ´u tra

˙ng thái thoát ra cu’a leˆ

˙nh cuoˆ´ i cùng ba˘`ng 0 thì tra

˙ng thái thoát ra cu’a d¯u’o`’ng oˆ´ng se˜ ba˘`ng 1 và ngu’o

˙’c la˙i. Heˆ ˙ vo’ cho`’ cho taˆ´t ca’ các câu leˆ

˙nh keˆ´t thúc roˆ`i mo´’i xác d¯i

˙nh và d¯u’a ra giá tri ˙này.

3.5.3 ¯ aˆ`u loD ˙c

Ví du

˙ cuoˆ´ i cùng o’’trên (ví du

˙ vo´’i câu leˆ

˙nhgrep) có theˆ’ dùng d¯eˆ’ minh ho

˙a cho moˆ ˙t khái nieˆ ˙m qua tro ˙ng khác, d¯ó là, d¯aˆ`u lo ˙c chu’o’ng trình. D¯ aˆ`u lo ˙c - d¯ó là leˆ

˙nh (hay chu’o’ng trình), mà tieˆ´p nhaˆ

˙n du˜’ lieˆ

˙u vào, thu˙’c hieˆ˙n moˆ

˙t vài bieˆ´n d¯oˆ’i trên du˜’ lieˆ

˙u này và d¯u’a ra keˆ´t qua’ o’’ d¯aˆ`u ra tiêu chuaˆ’n (tu`’ d¯ây còn có theˆ’ chuyeˆ’n d¯eˆ´n no’i nào d¯ó theo ý muoˆ´n cu’a ngu’o`’i dùng). Các câu leˆ

˙nh - d¯aˆ`u lo

˙c bao goˆ`m các leˆ

˙nh d¯ã nói d¯eˆ´n o’’ trêncat, more, less, wc, cmp, diff, và ca’ nhu˜’ng câu leˆ

˙nh có trong ba’ng3.1

Ba’ng 3.1: Các câu leˆ

˙nh d¯aˆ`u lo ˙c Leˆ (adsbygoogle = window.adsbygoogle || []).push({});

˙nh Mô ta’ nga˘´n go˙n grep, fgrep, egrep Tìm trong taˆ

˙p tin hay du˜’ lieˆ

˙u d¯aˆ`u vào các dòng có chu´’a maˆ˜u va˘n ba’n d¯u’o

˙’c chı’ ra và d¯u’a các dòng này to´’i d¯aˆ`u ra tiêu chuaˆ’n tr Trong du˜’lieˆ

˙u d¯aˆ`u vào thay theˆ´ các ký tu

˙’ o’’ ô thu´’ nhaˆ´ t bo’’i các ký tu ˙’ tu’o’ng u´’ng o’’ ô thu´’ hai. Hãy thu’’ gõ leˆ

˙nhtr abc ABCroˆ`i gõ vài dòng chu´’a các ký tu

˙’ abc! comm So sánh hai taˆ

˙p tin theo tu`’ng dòng moˆ

˙t và d¯u’a vào d¯aˆ`u ra tiêu chuaˆ’n 3 coˆ

˙t : moˆ

˙t - nhu˜’ng dòng chı’ ga˘ ˙p o’’ taˆ

˙p tin thu´’ nhaˆ´t, hai - nhu˜’ng dòng chı’ ga˘

˙p o’’ taˆ

˙p tin thu´’ hai, và ba - nhu˜’ng dòng có trong ca’ hai taˆ ˙p tin. pr ¯ iD

˙nh da˙ng taˆ

˙p tin hay noˆ

˙i dung cu’a d¯aˆ`u tiêu chuaˆ’n d¯eˆ’ in aˆ´n. sed Trình soa

˙n tha’o taˆ

˙p tin theo dòng, su’’du

˙ng d¯eˆ’ thu

˙’c hieˆ˙n moˆ

˙t vài bieˆ´n d¯oˆ’i trên du˜’ lieˆ

˙u d¯aˆ`u vào (laˆ´y tu`’ taˆ

˙p tin hay d¯aˆ`u vào tiêu chuaˆ’n) Moˆ

˙t d¯aˆ`u lo ˙c d¯a˘

˙c bieˆ

˙t, câu leˆ

˙nhtee, nhân d¯ôi du˜’ lieˆ

˙u d¯aˆ`u vào, moˆ (adsbygoogle = window.adsbygoogle || []).push({});

˙t ma˘˙t gu’’i du˜’ lieˆ ˙u này d¯eˆ´n d¯aˆ`u ra tiêu chuaˆ’n, ma˘

˙t khác ghi nó (du˜’lieˆ

˙u) vào taˆ

˙p tin (ngu’o`’i dùng caˆ`n d¯a˘

˙t tên). Deˆ˜ thaˆ´y ra˘`ng theo chu´’c na˘ng cu’a mình leˆ

˙nhtee tu’o’ng tu

˙’ nhu’ nhóm ký tu˙’ chuyeˆ’n hu’o´’ng 1>&file. Kha’ na˘ng cu’a d¯aˆ`u lo

˙c có theˆ’ mo’’ roˆ

˙ng vo´’i vieˆ

˙c su’’ du

˙ng các bieˆ’u thu´’c chính quy (d¯ieˆ`u khieˆ’n), cho phép, ví du

˙, toˆ’ chu´’c tìm kieˆ´m theo các maˆ˜u tìm kieˆ´m tu`’ d¯o’n gia’n d¯eˆ´n phu´’c ta

˙p và raˆ´t phu´’c ta

˙p. Neˆ´u muoˆ´ n, chúng ta có theˆ’ nói raˆ´t nhieˆ`u veˆ` chuyeˆ’n hu’o´’ng và d¯aˆ`u lo

˙c. Nhu’ng noˆ ˙i dung này có trong phaˆ`n lo´’n các cuoˆ´n sách veˆ` UNIX và Linux (xem phaˆ`n lo`’i keˆ´t). Vì vaˆ

˙y, chúng ta se˜ du`’ng o’’ d¯ây và chuyeˆ’n sang moˆ

˙t phaˆ`n khác, d¯u’o

˙’c go˙i là "môi tru’o`’ng và các bieˆ´n môi tru’o`’ng" ta

˙o bo’’i heˆ ˙ vo’.

3.6 Tham bieˆ´ n và các bieˆ´n soˆ´. Môi tru’o`’ng cu’a heˆ˙ vo’ ˙ vo’

Khái nieˆ

˙m tham bieˆ´n trong heˆ

˙ vo’ bash tu’o’ng u´’ng vo´’i khái nieˆ

˙m bieˆ´n soˆ´ trong các ngôn ngu˜’ laˆ

˙p trình thông thu’o`’ng. Tên go

˙i (hay ID) cu’a tham bieˆ´n có theˆ’ là moˆ

˙t tu`’ bao goˆ`m các ký tu ˙’ ba’ng chu˜’ cái, chu˜’ soˆ´ , daˆ´u ga

˙ch du’o´’i (chı’ ký tu

˙’ d¯aˆ`u tiên cu’a tu`’ này không d¯u’o˙’c là chu˜’ soˆ´ ), và ca’ nhu˜’ng ký tu

3.6 Tham bieˆ´ n và các bieˆ´n soˆ´. Môi tru’o`’ng cu’a heˆ (adsbygoogle = window.adsbygoogle || []).push({});

˙vo’ 35

d¯u’o

˙’c xác d¯i˙nh hay d¯u’o

˙’c d¯a˘˙t ra, neˆ´u ngu’o`’i dùng ga˘´n cho nó moˆ

˙t giá tri˙. Giá tri˙có theˆ’ là moˆ ˙t dòng troˆ´ ng roˆ˜ng. D¯ eˆ’ nhìn thaˆ´ y giá tri

˙cu’a tham bieˆ´n, ngu’o`’i ta su’’ du

˙ng ký tu˙’ $ o’’ tru’o´’c tên cu’a nó. Nhu’ vaˆ

˙y, leˆ ˙nh:

kênh giao tác

maikhai@fpt:/sm$ echo parameter

hieˆ’n thi

˙tu`’ parameter, còn leˆ ˙nh

kênh giao tác

maikhai@fpt:/sm$ echo $parameter

hieˆ’n thi

˙giá tri˙cu’a tham bieˆ´n parameter (taˆ´t nhiên neˆ´u nhu’ tham bieˆ´n d¯ó du’o

˙’c xác d¯i˙nh).

Một phần của tài liệu Tài liệu Linux cho người dùng doc (Trang 38 - 39)