Làm thế nào để Viết một đơn giản Shell Script trên VPS (Phần 2)

Phần thứ hai của hướng dẫn này sẽ dạy cho bạn các lệnh cơ bản hơn cho kịch bản shell trên VPS. Họ chịu trách nhiệm cả việc trưng bày và thu thập thông tin đến và từ người sử dụng. Bài viết này đã được viết giả sử bạn đã cấu hình thư mục shell script của bạn theo hướng dẫn đầu tiên.
Bộ Tư lệnh vang

Lệnh này cho phép bạn hiển thị thông tin cho người sử dụng. Bạn có thể hiển thị chuỗi văn bản đơn giản, biến, hoặc cả hai người họ cùng nhau. Nó có hai thông số: -n, làm cho văn bản hiển thị đã không được theo sau bởi một dòng mới, và e, cho phép các thiết lập sau đây của “code” bên trong chuỗi:

\ A – Âm cảnh báo
\ B – Backspace nhân vật
\ C – Không hiển thị dòng mới
\ E – Escape character
\ N – dòng mới
\ R – trở lại vận chuyển
\ T – tab ngang
\ 0xx – ký tự ASCII
\\ – Dấu gạch chéo ngược

Ví dụ, các lệnh sau đây thực hiện chính xác như nhau:

vang -e “Text \ c”
vang -n “Text”

Để hiển thị các biến với echo, chỉ đơn giản là viết nó trong chuỗi trước bởi “$” nhân vật, như vậy:

string = World!
echo “Xin chào $ string”

Bạn có thể kết hợp văn bản, các lệnh, và các biến trong một chuỗi duy nhất. Bạn thậm chí có thể có nhiều dòng văn bản trong cùng một dòng mã đơn giản bởi có những “\ n” lệnh khi bạn muốn xuất ra một dòng mới.
Tiêu đề định dạng với echo

Văn bản có thể được hiển thị trong vô số màu sắc và phong cách với lệnh echo. Không phải mọi thứ làm việc với tất cả các thiết bị đầu cuối của khách hàng trên mạng, vì vậy hãy nhớ rằng mọi người có thể nhận được kết quả khác nhau hơn bạn nhận được khi chạy kịch bản của bạn. Như chúng ta chỉ thay đổi thị giác, nó không phải là một vấn đề thực sự hầu hết thời gian. Mỗi tùy biến (làm cho văn bản in đậm, gạch chân hoặc nhuộm màu) được xác định bởi trình tự thoát ra, mã sau các ký tự thoát (được xác định bởi ‘\ e’), như vậy:

vang e “Đây là \ e [1mBold”

Đây là một bảng nhỏ với các mã phổ biến nhất:

Bold: \ e [1m
Dim: \ e [2m
Nhấn mạnh: \ e [4m
Màu sắc đảo ngược: \ e [7m

Bạn có thể kết hợp chúng để tạo ra một văn bản in đậm gạch dưới, ví dụ, và bạn có thể thiết lập lại tất cả bằng cách gõ “\ e [0m”.

vang -e “\ e [4mThis \ e [1mis \ e [0m \ e [ví dụ 7man \ e [0mstring”

Hãy thử nó ra và xem nó trông như thế.

Màu sắc cơ bản là giống nhau. Mỗi màu sắc có một mã số và chúng có thể được chèn vào trong cùng một cách như mã định dạng. Dưới đây là một bảng dưới đây với các màu sắc được hỗ trợ bởi hầu hết các khách hàng thiết bị đầu cuối:

Black: \ e [30m (Text) và \ e [40m (Background)
Red: \ e [31m (Text) và \ e [41m (Background)
Màu xanh lá cây: \ e [32m (Text) và \ e [42m (Background)
Màu vàng: \ e [33m (Text) và \ e [43m (Background)
Blue: \ e [34m (Text) và \ e [44m (Background)
Magenta: \ e [35m (Text) và \ e [45m (Background)
Cyan: \ e [36m (Text) và \ e [46m (Background)
Ánh sáng màu xám: \ e [37m (Text) và \ e [47m (Background)
Mặc định màu: \ e [39m (Text) và \ e [49m (Background)

Bạn cũng có thể kết hợp màu sắc văn bản với các màu nền khác nhau và cũng có thêm các mã định dạng thông thường để các văn bản màu:
Các lệnh đọc

Để có được thông tin từ người sử dụng, sử dụng lệnh đọc. Nó sẽ lưu trữ bất cứ điều gì mà người dùng lên đến thời điểm này được nhấn ENTER và lưu trữ nó trong một biến. Các đối số duy nhất đến đó là các biến mà bạn muốn các thông tin được lưu trữ trong Ví dụ, đây là một kịch bản ngắn mà tạo ra một thư mục với tên người dùng muốn.:

#! / Bin / bash
đọc tên thư mục
mkdir tên thư mục

Nhưng đây là một kịch bản mà không cần bất kỳ loại giao diện người dùng. Làm thế nào là người sử dụng phải biết nếu và những gì ông đã gõ?
Ví dụ kịch bản

Trong ví dụ này, chúng ta sẽ sử dụng tất cả mọi thứ chúng tôi đã học được trong hướng dẫn này. Tùy chỉnh thông điệp được định dạng sẽ được hiển thị cho người sử dụng và một đầu vào sẽ được yêu cầu. Hướng dẫn đầu tiên đã có một ví dụ mà sao lưu các tập tin dựa trên các thông số thông qua khi triệu tập các kịch bản. Bây giờ chúng ta sẽ viết lại nó, hỏi người dùng những gì anh ta muốn sao lưu.

Đầu tiên, chúng ta cần phải thiết lập và mở các tập tin:

chạm vào ~ / bin / filebackup2
chmod + x ~ / bin / filebackup2
nano ~ / bin / filebackup2

Căn cứ để viết lại kịch bản vì vậy nó có một giao diện:

#! / Bin / bash
#Backup Kịch bản 2.0
#Description: Làm cho một bản sao của bất kỳ tập tin được đưa ra tại các thư mục sao lưu
#Author: Tên của bạn
#Date: 2013/09/19
#Request Thư mục sao lưu từ người dùng:
vang -e “\ e [1m \ e [32mFile Backup Utility \ n \ e [39m \ e [0mPlease đầu vào thư mục sao lưu của bạn:”
đọc BACKUPFOLDER
#The Kịch bản sẽ đảm bảo rằng các thư mục tồn tại
mkdir -p $ BACKUPFOLDER
File #Request được sao lưu:
vang -e “\ e [47m \ e [file 30mWhich làm bạn muốn sao lưu? \ e [39m \ e [49 triệu”
đọc FILES
cp -a $ FILES $ BACKUPFOLDER

Phần kết luận

Hướng dẫn này bao gồm các lệnh cơ bản giúp bạn có thể viết một kịch bản tương tác với người sử dụng thích hợp, mà là rất quan trọng để đảm bảo tất cả mọi người hiểu được những gì kịch bản nào và những loại dữ liệu nó yêu cầu. Không phải tất cả các kịch bản cần phải có một giao diện người sử dụng; đầu tiên chúng ta mã hóa là trong hầu hết các trường hợp nhanh hơn và tốt hơn. Nhưng ngay cả trong dòng lệnh, chỉ kịch bản mà bạn nên thực hiện một “trợ giúp” giao diện, mà bạn sẽ cần những “echo” lệnh.