Copyright(c) by Galaxy CD – http://www.galaxycd.com
37
Baøi 8: Ñoåi höôùng (Redirection)
Noäi dung: caùc luoàng döõ lieäu vaøo/ra chuan vaø caùc thao taùc ñoåi höôùng chuùng.
8.1 Vaøo/ra chuaån:
8.1.1 Caùc file vaøo/ra chuaån:
Khi cho moït file chaïy, Shell töï ñoäng môû 3 file vaøo/ra chuan:
Vaøo chuaån (stdin)
fd = 0
Ra chuaån (stdout)
fd = 1
Loãi chuaån (stderror)
fd = 2
Kyù hieäu fd laø moâ taû file (file descriptor).
Thoâng thöôøng ñaàu vaøo chuaån laø baøn phím, ñaàu ra chuaån vaø loãi chuaån laø maøn hình.
8.1.2 Ñoåi höôùng ñaàu ra chuaån :
Ta coù theå ñoåi höôùng caùc soá lieäu, thay vì ra maøn hình, vaøo moät file theo caùc caùch sau:
$
leänh > teân_file
Neáu file chöa toàn taïi, noù seõ ñöôïc töï ñoäng taïo ra. Neáu ñaõ toàn taïi, noäi dung cuõ seõ bò xoùa.
$
leänh >> teân_file
Vôùi caùch naøy, döõ lieäu seõ ñöôïc ghi theâm vaøo cuoái file.
Thí duï:
$
ls
/bin >
file1
$
ls
/bin >>
file1
8.1.3 Ñoåi höôùng ñaàu ra loãi chuaån:
-
Ñoåi höôùng vaøo moät file:
$
leänh 2 > file1
hoaëc:
$
leänh 2 >> file1
-
Ñoåi höôùng vaøo file soá lieäu (vaøo ñaàu ra chuaån):
$
leänh > file1 2 > &1
-
Ñoåi höôùng vaøo file khoâng:
$
leänh 2 > /dev/null
8.1.4 Ñoåi höôùng ñaàu vaøo chuaån:
-
Soá lieäu vaøo chuaån töø moät file:
$
leänh < file2
Thí duï:
$
mail user1 < file2
-
Ñoåi höôùng caùc leänh töø ñaàu vaøo chuaån:
Caùch ñoåi höôùng naøy cho pheùp ta ñöa caùc khai baùo cho moät leänh ttrong shell_script:
$
command
<<
STRING
soá lieäu vaø/hoaëc leänh