Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Lịch sử và các bản phân phối HĐH Linux từ trước đến nay phần 7 potx
Nội dung xem thử
Mô tả chi tiết
3.7 Khai trieˆ
’n bieˆ
’u thu´’c 39
kênh giao tác
[user]$ export name=value
Trong tru’o`’ng ho
˙
’p này, taˆ
´t ca’ các chu’o’ng trình cha
˙
y tu`’ heˆ
˙
vo’ (keˆ
’ ca’ ba’n sao thu´’ hai cu’a
chính heˆ
˙
vo’) se˜ có quyeˆ
`n truy caˆ
˙
p to´’i các bieˆ
´ n d¯u’o
˙
’c gán nhu’ vaˆ
˙
y, tu´’c là su’’ du
˙
ng giá tri
˙
cu’a
chúng qua tên.
3.7 Khai trieˆ
’
n bieˆ
’
u thu´’c
Hay heˆ
˙
vo’ d¯o
˙
c các câu leˆ
˙
nh nhu’ the´ˆ nào? Khi heˆ
˙
vo’ nhaˆ
˙
n d¯u’o
˙
’c moˆ
˙
t dòng
leˆ
˙
nh này d¯ó caˆ
`n thu
˙
’c hieˆ
˙
n, nó (heˆ
˙
vo’) tru’o´’c khi cha
˙
y câu leˆ
˙
nh thu
˙
’c hieˆ
˙
n vieˆ
˙
c "phân tích ngu˜’
pháp" dòng leˆ
˙
nh này (gioˆ
´ ng trong ngôn ngu˜’, phân tích chu’ ngu˜’, vi
˙
ngu˜’). Moˆ
˙
t trong nhu˜’ng
bu’o´’c cu’a su
˙
’phân tích này là phép mo’’ hay khai trieˆ
’n bieˆ
’u thu´’c (expansion). Trong bash có
ba’y loa
˙
i khai trieˆ
’n bieˆ
’u thu´’c:
• Khai trieˆ
’n daˆ
´ u ngoa˘
˙
c (brace expansion);
• Thay theˆ
´ daˆ
´ u ngã (tilde expansion);
• Phép theˆ
´ các tham bieˆ
´ n và bieˆ
´ n soˆ
´;
• Phép theˆ
´ các câu leˆ
˙
nh;
• Phép theˆ
´ soˆ
´ ho
˙
c (thu
˙
’c hieˆ
˙
n tu`’trái sang pha’i);
• Phép chia tu`’(word splitting);
• Khai trieˆ
’n các maˆ
˜u tên taˆ
˙
p tin và thu’mu
˙
c (pathname expansion).
Các thao tác này d¯u’o
˙
’c thu
˙
’c hieˆ
˙
n theo d¯úng thu´’tu
˙
’lieˆ
˙
t kê trên. Chúng ta se˜ xem xét chúng
theo tu´’tu
˙
’này.
3.7.1 Khai trieˆ
’
n da´ˆu ngoa˘
˙
c
Khai trieˆ
’n daˆ
´ u ngoa˘
˙
c toˆ
´t nhaˆ
´t minh ho
˙
a trên ví du
˙
. Gia’ thieˆ
´t, chúng ta caˆ
`n ta
˙
o thu’ mu
˙
c con
trong moˆ
˙
t thu’mu
˙
c nào d¯ó, hoa˘
˙
c thay d¯oˆ
’i ngu’o`’i dùng so’’hu˜’u cu’a vài taˆ
˙
p tin cùng moˆ
˙
t lúc. Có
theˆ
’thu
˙
’c hieˆ
˙
n d¯ieˆ
`u này nho`’ các câu leˆ
˙
nh sau:
kênh giao tác
[user]$ mkdir /usr/src/unikey/{old,new,dist,bugs}
[root]# chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}
Trong tru’o`’ng ho
˙
’p d¯aˆ
`u, trong thu’mu
˙
c /usr/src/unikey/ se˜ ta
˙
o ra các thu’mu
˙
c con
old,new,dist, và bugs. Trong tru’o`’ng ho
˙
’p thu´’hai, ngu’o`’i dùng so’’hu˜’u cu’a các taˆ
˙
p tin sau
se˜ thay d¯oˆ
’i (thành root):
• /usr/ucb/ex
• /usr/lib/ex?.?