Giả sử bạn muốn thêm một dòng văn bản được mã hóa cứng vào một tệp thông qua lệnh trong Linux, bạn sẽ làm gì? Một cách tiếp cận rõ ràng là mở tệp trong trình soạn thảo, sau đó nhập dòng đó theo cách thủ công. Nhưng hãy nghĩ đến trường hợp mà tác vụ này cần được tự động hóa. Bạn sẽ chọn cách nào trong trường hợp đó?
Vâng, có một lệnh - được gọi là echo - mà bạn có thể sử dụng trong trường hợp sử dụng đã đề cập ở trên. Cũng có một số tình huống khác mà công cụ này tỏ ra hữu ích. Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của echo cũng như các tùy chọn dòng lệnh mà nó cung cấp. Nhưng trước đó, cần chia sẻ rằng tất cả các lệnh và hướng dẫn được đề cập trong hướng dẫn này đều đã được thử nghiệm trên Ubuntu 16.04LTS.
Và đây là nội dung trang hướng dẫn của công cụ nói về lệnh này:
Các ví dụ dạng Hỏi & Đáp sau đây sẽ giúp bạn hiểu rõ hơn về cách lệnh echo hoạt động.
Đây là một ví dụ:
Bây giờ, quay lại câu hỏi được đặt ra ở phần đầu của hướng dẫn này, nếu bạn muốn thêm một dòng vào tệp hiện có, đây là cách bạn có thể thực hiện việc này bằng echo:
echo [dòng văn bản] >> filename
Đây là lệnh đã đề cập trong hành động:
Ảnh chụp màn hình sau cho thấy đầu ra không chứa ký tự xuống dòng khi sử dụng -n:
Tuy nhiên, nếu muốn, bạn có thể thay đổi hành vi này bằng cách sử dụng tùy chọn dòng lệnh -e.
Vì vậy, bây giờ bạn có thể thấy ký tự đặc biệt được hiểu là xóa lùi và 'o' đã bị xóa trong đầu ra.
Ảnh chụp màn hình sau đây cho bạn thấy một vài ví dụ:
Vâng, có một lệnh - được gọi là echo - mà bạn có thể sử dụng trong trường hợp sử dụng đã đề cập ở trên. Cũng có một số tình huống khác mà công cụ này tỏ ra hữu ích. Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của echo cũng như các tùy chọn dòng lệnh mà nó cung cấp. Nhưng trước đó, cần chia sẻ rằng tất cả các lệnh và hướng dẫn được đề cập trong hướng dẫn này đều đã được thử nghiệm trên Ubuntu 16.04LTS.
Lệnh echo của Linux
Đây là cú pháp chung của lệnh:
Mã:
echo [SHORT-OPTION]... [STRING]...
echo LONG-OPTION
Mã:
echo - hiển thị một dòng văn bản
Echo CHUỖI(các) thành chuẩn output.
Câu hỏi 1. Làm thế nào để hiển thị một dòng văn bản trong đầu ra bằng echo?
Điều này rất dễ - tất cả những gì bạn phải làm là truyền dòng văn bản làm đầu vào cho lệnh echo.
Mã:
echo [dòng văn bản]
Bây giờ, quay lại câu hỏi được đặt ra ở phần đầu của hướng dẫn này, nếu bạn muốn thêm một dòng vào tệp hiện có, đây là cách bạn có thể thực hiện việc này bằng echo:
echo [dòng văn bản] >> filename
Đây là lệnh đã đề cập trong hành động:
Câu hỏi 2. Làm thế nào để vô hiệu hóa ký tự xuống dòng theo sau trong đầu ra echo?
Theo mặc định, đầu ra lệnh echo kết thúc bằng ký tự xuống dòng. Tuy nhiên, nếu muốn, bạn có thể thay đổi hành vi này bằng tùy chọn dòng lệnh -n.Ảnh chụp màn hình sau cho thấy đầu ra không chứa ký tự xuống dòng khi sử dụng -n:
Câu hỏi 3. Echo xử lý các ký tự thoát dấu gạch chéo ngược như thế nào?
Khi được sử dụng ở chế độ mặc định, lệnh echo không coi các ký tự thoát dấu gạch chéo ngược là ký tự đặc biệt và do đó không diễn giải chúng theo bất kỳ cách đặc biệt nào. Ví dụ, ảnh chụp màn hình sau đây cho thấy ký tự xóa lùi (\b) được hiển thị như trong đầu ra:Tuy nhiên, nếu muốn, bạn có thể thay đổi hành vi này bằng cách sử dụng tùy chọn dòng lệnh -e.
Vì vậy, bây giờ bạn có thể thấy ký tự đặc biệt được hiểu là xóa lùi và 'o' đã bị xóa trong đầu ra.
Câu hỏi 4. Đôi khi echo hoạt động như lệnh thay thế ls như thế nào?
Bạn cũng có thể sử dụng echo thay cho ofls trong một số trường hợp nhất định. Ví dụ, để liệt kê tất cả các tệp .jpg trong thư mục hiện tại, bạn chỉ cần thực hiện lệnh sau:
Mã:
echo *.jpg
Câu hỏi 5. Echo giúp ích như thế nào trong các trường hợp sử dụng thực tế khác?
Lệnh echo thực sự hữu ích khi làm việc với các biến (cả shell và môi trường) trên dòng lệnh. Cụ thể, bạn có thể dễ dàng hiển thị giá trị của một biến bằng công cụ - tất cả những gì bạn cần làm là truyền tên biến (được đặt trước bằng dấu $) cho lệnh echo.Ảnh chụp màn hình sau đây cho bạn thấy một vài ví dụ: