Friday, January 7, 2011

[Shell script] Chuyển hướng nhập xuất trong shell

Ngoài việc đưa dữ liệu vào từ bàn phím hay xuất dữ liệu ra màn hình, ta có thể đưa dữ liệu vào trong file hoặc lấy dữ liệu từ file.
Ví dụ với câu lệnh ls, ngoài việc xuất dữ liệu ra màn hình, ta có thể xuất dữ liệu ra file riêng.


Sử dụng ls để xuất dữ liệu vào file:
Như đã thấy, câu lệnh ls đã đưa kết quả của nó vào file lst.txt thay vì xuất ra màn hình.


I.Output redirection

TRong việc redirect dữ liệu, một số ký tự được sử dụng. Trong output redirection thì có 2 ký tự được sử dụng đó là ">" và ">>".

1. Ký tự ">"
cú pháp:
linux-command > filename

câu lệnh trên sẽ đưa kết quả của câu lệnh linux-command đến filename. Nếu file đó đã tồn tại thì sẽ ghi đè lên file đó, nếu chưa có, file sẽ được tạo ra.
2. Ký tự ">>"
cú pháp:
linux-command >> filename
Ký tự này cũng tương tự như > nhưng điểm khác đó là, nếu file đã tồn tại trên hệ thống, nó sẽ ghi vào phần cuối file chứ ko ghi đè, làm mất dữ liệu của file trước đó.Nếu file ko tồn tại thì nó sẽ tạo.

II.Input redirection

Đây là việc lấy  dữ liệu từ nội dung của một file nào  đó. Sử dụng 2 ký tự để lấy dữ liệu từ nội dung file

1.Ký tự "<"

Cú pháp:
linux-command < filename
Ví dụ:
Sử dụng câu lệnh wc để đếm số dòng,số từ ,dung lượng(bytes) của file


2. Ký tự "<<"

Ký tự này cho phép ta xác định dữ liệu đưa vào, thay vì lấy dữ liệu trong file. Cú pháp:
linux-command << text marker
 Trong đó, text marker là ký tự để kết thúc việc đưa dữ liệu vào. Nó dùng để thoát khỏi chế độ nhập dữ liệu và xuất ra kết quả. Ký tự này ta có thể tùy đặt.

Sau khi gõ lệnh wc << kill, sẽ xuất hiện dấu nhắc lệnh để nhập dữ liệu. Khi muốn kết thúc việc nhập liệu, gõ kill để in ra kết quả. Ở đây là kết quả của câu lệnh wc.

====End====

No comments:

Post a Comment