. Kết nối với một ký tự đơn
Các siêu ký tự trong Unix/Linu
Shell cung cấp các siêu ký tự đa dạng mà có ý nghĩa đặc biệt trong khi sử dụng chúng trong bất kỳ Shell script nào và gây ra sự giới hạn của một từ trừ khi được trích dẫn.
Ví dụ: siêu ký tự ? kết nối với một ký tự đơn trong khi liệt kê các file trong một thư mục và siêu ký tự * sẽ kết nối nhiều hơn một ký tự. Dưới đây liệt kê một danh sách của hầu hết các ký tự đặc biệt trong shell (cũng được gọi là siêu ký tự).
* ? [ ] ' " \ $ ; & ( ) | ^ < > new-line space tab
Một ký tự có thể được trích dẫn bằng cách đặt trước nó với một dấu \.
Ví dụ trong Unix/Linux:
Dưới đây là ví dụ chỉ cách để in một * hoặc một ?:
#!/bin/sh
echo Hello; Word
Nó sẽ tạo ra kết quả sau:
Hello
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 98
shell returned 127
Bây giờ chúng ta sử dụng một ký tự được trích dẫn:
#!/bin/sh
echo Hello\; Word
Nó sẽ tạo ra kết quả:
Hello; Word
Ký hiệu $ là một siêu ký tự, vì thế nó phải được trích dẫn để tránh shell thực hiện các công việc đặc biệt liên quan đến nó:
#!/bin/sh
echo "I have \$1200"
Code trên tạo ra kết quả sau:
I have $1200
Có 4 kiểu mẫu trích dẫn được chúng tôi liệt kê trong bảng sau:
Trích dẫn Miêu tả
Trích dẫn đơn Tất cả các ký tự ở giữa trích dẫn này không còn ý nghĩa đặc biệt nữa với
shell.
Trích dẫn kép
Hầu hết các ký tự giữa trích dẫn này không còn ý nghĩa đặc biệt, trừ các ký tự sau:
$ ` \$ \'
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 99
\" \\
Dấu gạch chéo ngược
Bất kỳ ký tự nào đằng sau dấu chéo ngược \ không còn ý nghĩa đặc biệt của nó.
Trích dẫn ngược (``)
Bất kỳ ký tự nào ở giữa trích dẫn ngược được shell đối xử như là một lệnh và được chạy.