Đây là lệnh fai-class có thể chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
fai-class - xác định các lớp bằng cách sử dụng tệp và tập lệnh.
SYNOPSIS
đẳng cấp [OPTION] MỤC LỚP HỌC
MÔ TẢ
Lệnh này chỉ được gọi nội bộ bởi FAI chứ không phải trực tiếp bởi người dùng.
fai-class thực thi các tập lệnh trong DIRECTORY để định nghĩa các lớp. Tất cả các lớp đều được ghi vào
CLASSFILE, mỗi lớp trên một dòng riêng biệt. Sử dụng đường dẫn tuyệt đối cho cả hai đối số. Tất cả các
các tập lệnh hoặc tệp thực thi khớp với "^ [0-9] [0-9] *" (chúng bắt đầu bằng hai chữ số) được thực thi
theo thứ tự bảng chữ cái. Họ có thể xác định các lớp bằng cách viết tên của các lớp vào
stdout. Các lớp có thể được phân tách bằng dấu cách hoặc được viết trên một dòng. Tất cả các dòng bắt đầu
với "#" là các dòng nhận xét và bị bỏ qua.
Các tập lệnh shell kết thúc bằng ".sh" có nguồn gốc và có thể xác định các lớp bằng cách đặt biến
$ newclasses. Điều này hữu ích cho các tập lệnh mà bạn không thể kiểm soát stdout. Các biến
được định nghĩa trong các tập lệnh này có sẵn cho các tập lệnh khác trong DIRECTORY, nhưng chúng không
được xuất sang shell gọi là fai-class. Các tập lệnh đó có thể xác định các biến bằng cách viết
định nghĩa cho tệp $ LOGDIR / bổ sung.var, sẽ có nguồn trong phần sau
bài tập.
Tất cả các tập lệnh có thể xác định các lớp bổ sung bằng cách ghi các lớp vào tệp
$ LOGDIR / lớp bổ sung. Các lớp này được định nghĩa sau khi tất cả các tập lệnh được thực thi. Cái này
tập tin tạm thời sẽ bị xóa sau khi sử dụng.
Thứ tự của các lớp rất quan trọng vì nó xác định mức độ ưu tiên của các lớp từ
từ thấp đến cao. Đầu tiên, lớp DEFAULT được định nghĩa. Sau đó, tất cả các tập lệnh được thực thi để xác định
các lớp học. Sau đó, các lớp từ tệp $ LOGDIR / các lớp bổ sung được thêm vào. Sau đó,
tất cả các lớp trong tệp có tên máy chủ được thêm vào. Sau đó, các lớp được xác định bởi biến
ADDCLASSES được sử dụng. Biến này phải là một danh sách các lớp được phân tách bằng dấu phẩy. Bạn có thể
định nghĩa biến này trên dòng lệnh kernel.
Cuối cùng, lớp với tên máy chủ và LAST được xác định.
Điều quan trọng là mỗi dòng trong tệp chứa tên lớp phải kết thúc bằng một dòng mới. Nếu
dòng mới bị thiếu trên dòng cuối cùng của tệp, không thể thêm lớp này.
Mã thoát của mọi tập lệnh được ghi vào tệp status.log trong LOGDIR.
LỰA CHỌN
-d Tạo đầu ra gỡ lỗi.
-h Hiển thị trợ giúp, phiên bản và tóm tắt các tùy chọn.
-T Kiểm tra xem các lớp trong CLASSFILE có được xác định nhiều lần hay không. Điều này không bao giờ nên xảy ra.
Kiểm tra được thực hiện sau khi các lớp được xác định.
-t tmpdir
Các lớp bổ sung của tệp được đọc từ thư mục tmpdir. Giá trị mặc định là
/ tmp / fai /.
-v Tạo đầu ra dài dòng.
VÍ DỤ
Trong FAI, fai-class được sử dụng theo cách sau:
# fai-class / fai / class / tmp / fai / FAI_CLASSES
Sau đó, danh sách tất cả các lớp được gán cho các lớp biến.
các lớp = `cat / tmp / fai / FAI_CLASSES`
VÍ DỤ CHO KỊCH BẢN
Đây là kịch bản 01alias:
#! / Bin / sh
catnc () {# mèo nhưng không có dòng bình luận
grep -v "^ #" $ 1
}
# kiến trúc echo trong chữ hoa
dpkg --print-architecture | tr / az / / AZ /
uname -s | tr / az / / AZ /
# tất cả các vật chủ có tên là kiến ?? sử dụng các lớp trong anthill tệp
trường hợp $ HOSTNAME trong
kiến ??) catnc anthill ;;
nó C
# một cụm Beowulf; tất cả các nút ngoại trừ nút chính
# sử dụng các lớp từ lớp / nguyên tử tệp
trường hợp $ HOSTNAME trong
atom00) tiếng vang BEOWULF_MASTER ;;
nguyên tử ??) catnc nguyên tử ;;
nó C
# nếu máy chủ thuộc mạng con lớp C 123.45.6.0 sử dụng lớp NET_6
trường hợp $ IPADDR trong
123.45.6. *) Echo NET_6 ;;
nó C
Một vi dụ khac:
Kịch bản 24nis:
#! / Bin / sh
# thêm NIS và tên miền NIS nếu YPDOMAIN được xác định
if [-n "$ YPDOMAIN"]; sau đó
echo "NIS $ YPDOMAIN" | tr /.az-/ / _A-Z_ /
khác
tiếng vang NONIS
fi
Bạn có thể xác định các lớp trên dòng lệnh hạt nhân bằng cách thêm nó vào hạt nhân:
ADDCLASSES = CLASS1, CLASSX, CLASS3
GHI CHÚ
Tất cả các tên lớp phải được viết bằng chữ hoa (thực thi lớp của tên máy).
Không sử dụng dấu gạch ngang, sử dụng dấu gạch dưới. Chỉ các tập lệnh thực thi trong DIRECTORY mới được sử dụng.
CLASSFILE bị xóa trước khi ghi vào nó. Tập lệnh không được ghi trực tiếp vào CLASSFILE.
LOGDIR không được ghi cho tất cả mọi người.
Sử dụng trực tuyến fai-class bằng các dịch vụ onworks.net