Viết Scripts 439
di chuyển các pingprogram, bạn chỉ cần thay đổi một dòng của kịch bản. Biến trỏ đến
tập tin nhị phân cũng có thể được sử dụng kết hợp với các điều kiện để đảm bảo rằng các kịch bản làm việc
trên nhiều hệ thống, ví dụ, nếu pingwere gọi là cái gì khác trên một số hệ thống.
Listing 9.3: Script chứng minh chuyển nhượng và sử dụng các biến
#! / Bin / sh
ip = `route -n | grep UG | tr-s "" | cắt -f -d 2 ""
`ping =" / bin / ping
"echo" Kiểm tra xem nếu $ ip là lên ...
"$ ping -c 5 $ ip
Trong thực tế, bạn sử dụng Bảng liệt kê 9.3 bằng cách gõ tên của kịch bản . Kết quả sẽ được
thông báo kiểm tra để xem nếu 192.168.1.1is lên (với 192.168.1.1replaced bởi hệ thống cổng mặc định của máy tính) và đầu ra từ pingcommand, mà nên cố gắng
để gửi năm gói tin đến router. Nếu router lên và được cấu hình để đáp ứng với các lệnh ping,
bạn sẽ nhìn thấy năm gói trở lại và thông tin tóm tắt. Nếu router xuống, bạn sẽ thấy
thông báo lỗi tới những hiệu ứng mà chủ nhà đã không thể truy cập.
Listing 9.3 là hạn chế sử dụng thực tế và có lỗi. Ví dụ, các
kịch bản xác định cổng của máy tính chỉ đơn thuần bởi sự hiện diện của
chuỗi UGin dòng đầu ra của router từ đường. Nếu máy tính có hai router xác định, điều này sẽ không làm việc một cách chính xác, và kết quả có thể sẽ là một kịch bản
mà đối xử tệ bạc. Điểm của Liệt kê 9.3 không phải là để có một chương trình hoàn hảo
mà còn cho thấy các biến thể được chỉ định và sử dụng.
Scripts giống như Liệt kê 9.3, mà có được thông tin từ chạy một hoặc nhiều lệnh,
rất hữu ích trong việc cấu hình các tính năng dựa trên đặc thù hệ thống thông tin hoặc các thông tin
thay đổi theo thời gian. Bạn có thể sử dụng một cách tiếp cận tương tự để có được tên máy hiện (sử dụng
các hostnamecommand), thời điểm hiện tại (sử dụng ngày), tổng thời gian máy tính đang được
chạy (sử dụng thời gian hoạt động), không gian đĩa miễn phí (sử dụng df), và như vậy. Khi kết hợp với biểu thức điều kiện (được mô tả trong thời gian ngắn), biến trở nên mạnh mẽ hơn bởi vì sau đó
kịch bản của bạn có thể thực hiện một hành động khi một điều kiện được đáp ứng, và một trong số các
trường hợp. Ví dụ, một kịch bản, cài đặt phần mềm có thể kiểm tra không gian đĩa miễn phí và hủy bỏ việc
cài đặt nếu không gian đĩa không đủ có sẵn.
Ngoài gán biến với toán tử gán (=), bạn có thể đọc các biến từ đầu vào tiêu chuẩn sử dụng đọc, như trong đọc responseto đọc đầu vào cho tiếp
cận như $ phản ứng. Đây là phương pháp giao biến là hữu ích cho các kịch bản đó phải
tương tác với người sử dụng. Ví dụ, thay vì đọc tên người dùng từ dòng lệnh,
Listing 9.2 có thể ed modifi để nhắc nhở người dùng cho tên người dùng. Bảng liệt kê 9.4 cho thấy
kết quả. Để sử dụng kịch bản này, bạn gõ tên của nó withouttyping một tên người dùng trên các lệnh
dòng. Các kịch bản sau đó sẽ nhắc nhở cho một tên người dùng, và sau khi bạn nhập một, kịch bản sẽ
cố gắng để tạo ra một tài khoản với tên đó.
đang được dịch, vui lòng đợi..