이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 fai-class 명령입니다.
프로그램:
이름
fai-class - 파일과 스크립트를 사용하여 클래스를 정의합니다.
개요
파이급 [OPTION] 디렉토리 클래스 파일
기술
이 명령은 FAI에 의해서만 내부적으로 호출되며 사용자가 직접 호출하지 않습니다.
fai-class는 DIRECTORY의 스크립트를 실행하여 클래스를 정의합니다. 모든 수업은 다음과 같이 작성됩니다.
CLASSFILE, 각 클래스는 별도의 줄에 있습니다. 두 인수 모두에 절대 경로를 사용하십시오. 모두
"^[0-9][0-9]*"(두 자리 숫자로 시작)와 일치하는 스크립트 또는 실행 파일이 실행됩니다.
알파벳순으로. 클래스 이름을 작성하여 클래스를 정의할 수 있습니다.
표준 출력. 클래스는 공백으로 구분하거나 한 줄에 하나씩 작성할 수 있습니다. 시작하는 모든 줄
"#"이 있는 것은 주석 라인이며 무시됩니다.
".sh"로 끝나는 쉘 스크립트가 제공되며 변수를 설정하여 클래스를 정의할 수 있습니다.
$newclasses. 이는 stdout을 제어할 수 없는 스크립트에 유용합니다. 다음과 같은 변수
이 스크립트에 정의된 내용은 DIRECTORY의 다른 스크립트에서 사용할 수 있지만 사용할 수는 없습니다.
fai-class를 호출하는 쉘로 내보냈습니다. 해당 스크립트는 다음을 작성하여 변수를 정의할 수 있습니다.
다음 소스에서 제공되는 $LOGDIR/additional.var 파일에 대한 정의
작업.
모든 스크립트는 클래스를 파일에 작성하여 추가 클래스를 정의할 수 있습니다.
$LOGDIR/추가 클래스. 이러한 클래스는 모든 스크립트가 실행된 후에 정의됩니다. 이것
임시 파일은 사용 후 제거됩니다.
클래스의 순서는 클래스의 우선순위를 정의하므로 중요합니다.
낮은 것에서 높은 것. 먼저 DEFAULT 클래스가 정의됩니다. 그런 다음 모든 스크립트가 실행되어 정의됩니다.
클래스. 그 후 $LOGDIR/additional-classes 파일의 클래스가 추가됩니다. 그 다음에,
호스트 이름이 있는 파일의 모든 클래스가 추가됩니다. 그런 다음 변수로 정의된 클래스
ADDCLASSES가 사용됩니다. 이 변수는 쉼표로 구분된 클래스 목록이어야 합니다. 당신은 할 수 있습니다
커널 명령줄에서 이 변수를 정의하십시오.
마지막으로 호스트 이름과 LAST를 가진 클래스가 정의됩니다.
클래스 이름이 포함된 파일의 각 줄은 개행 문자로 끝나는 것이 중요합니다. 만약
파일의 마지막 줄에 개행 문자가 없으면 이 클래스를 추가할 수 없습니다.
모든 스크립트의 종료 코드는 LOGDIR의 status.log 파일에 기록됩니다.
옵션
-d 디버깅 출력을 생성합니다.
-h 도움말, 버전 및 옵션 요약을 표시합니다.
-T CLASSFILE의 클래스가 여러 번 정의되었는지 테스트합니다. 이런 일이 일어나서는 안 됩니다.
클래스가 정의된 후에 테스트가 실행됩니다.
-t tmpdir
extra-classes 파일은 tmpdir 디렉토리에서 읽혀집니다. 기본값은
/tmp/fai/.
-v 자세한 출력을 만듭니다.
사용 예
FAI에서는 fai-class가 다음과 같은 방식으로 사용됩니다.
# fai-class /fai/class /tmp/fai/FAI_CLASSES
그런 다음 모든 클래스 목록이 변수 클래스에 할당됩니다.
클래스=`cat /tmp/fai/FAI_CLASSES`
사용 예 위한 스크립트
다음은 스크립트 01별칭입니다.
#! / 빈 / SH
catnc() { # 고양이는 있지만 주석 줄은 없습니다.
grep -v "^#" $1
}
# 대문자의 에코 아키텍처
dpkg --인쇄 아키텍처 | tr /az/ /AZ/
이름 없음 -s | tr /az/ /AZ/
# ant라는 이름의 모든 호스트?? 파일 anthill의 클래스를 사용하십시오.
$HOSTNAME 사례
개미??)catnc 개미집;;
그 C
# 베오울프 클러스터; 마스터 노드를 제외한 모든 노드
# 파일 클래스/원자의 클래스를 사용합니다.
$HOSTNAME 사례
atom00) 에코 BEOWULF_MASTER ;;
아톰??) catnc 아톰 ;;
그 C
# 호스트가 클래스 C 서브넷 123.45.6.0에 속하는 경우 클래스 NET_6을 사용합니다.
케이스 $IPADDR
123.45.6.*) 에코 NET_6 ;;
그 C
다른 예시:
24nis 스크립트:
#! / 빈 / SH
# YPDOMAIN이 정의된 경우 NIS 및 NIS 도메인 이름을 추가합니다.
if [ -n "$YPDOMAIN" ];then
echo "NIS $YPDOMAIN" | tr /.az-/ /_A-Z_/
그렇지 않으면
에코 노니스
fi
이것을 커널에 추가하여 커널 명령줄에서 클래스를 정의할 수 있습니다.
추가클래스=클래스1,클래스X,클래스3
노트
모든 클래스 이름은 대문자로 작성해야 합니다(호스트 이름의 클래스 제외).
대시를 사용하지 말고 밑줄을 사용하십시오. DIRECTORY의 실행 가능한 스크립트만 사용됩니다.
CLASSFILE은 쓰기 전에 제거됩니다. 스크립트는 CLASSFILE에 직접 쓰면 안 됩니다.
LOGDIR은 모든 사람이 쓸 수 있어서는 안됩니다.
onworks.net 서비스를 사용하여 온라인으로 fai 클래스를 사용하세요.