> 운영 및 유지보수 > 리눅스 운영 및 유지 관리 > 쉘 스크립트란 정확히 무엇입니까? 사용하는 방법?

쉘 스크립트란 정확히 무엇입니까? 사용하는 방법?

零下一度
풀어 주다: 2017-07-18 18:07:59
원래의
3645명이 탐색했습니다.

 아마도 많은 분들이 shell이나 bash라는 이름을 들어보셨을 텐데요, 혹시 그것이 무엇인지 아시나요?
컴퓨터의 기본 지식으로 돌아가 보겠습니다. 모든 컴퓨터는 하드웨어와 소프트웨어로 구성됩니다. 하드웨어는 키보드, 화면, CPU, 메모리, 하드 드라이브 등 누구나 만지고 볼 수 있는 부분입니다. 하드웨어가 없었다면 소위 컴퓨터라는 것이 존재할 수 없었을 것입니다. 전체 시스템의 입력과 출력은 물론 계산도 하드웨어와 분리될 수 없기 때문입니다. 질문해도 될까요? 키보드와 화면 없이 컴퓨터를 어떻게 사용하나요? 그러나 키보드를 통해 입력하는 것과 화면에 표시되는 출력은 실제로 소프트웨어에 의해 가능해집니다. 이러한 하드웨어와의 통신을 직접 담당하는 소프트웨어를 소위 커널이라고 합니다. 커널은 키보드 입력을 인계받아 처리를 위해 CPU에 넘겨주고 최종적으로 실행 결과를 화면에 출력할 수 있어야 합니다. 물론 키보드와 화면을 제외한 모든 하드웨어는 커널이 지원해야 사용할 수 있다.
그렇다면 우리가 키보드로 입력하는 내용을 커널은 어떻게 알 수 있을까요? 이것이 바로 우리가 여기서 소개하는 쉘이 담당하는 것입니다. 컴퓨터 자체가 처리하는 데이터는 바이너리 기계어이기 때문에 우리 인간이 익숙하게 사용하는 언어와는 매우 다릅니다. 예를 들어, pwd 명령을 입력하면 이것이 작업 디렉토리 인쇄(매우 간단한 사람의 목소리)를 의미한다는 것을 알지만, 커널로서는 pwd가 무엇인지 알지 못합니다. 시간, 셸 pwd를 커널이 이해할 수 있는 코드로 변환하는 데 도움이 됩니다. 그래서 우리는 컴퓨터를 사용할 때 하드웨어를 직접 제어하는 ​​것은 커녕 커널과 직접 통신하기보다는 기본적으로 쉘을 다룬다.

Windows에서 배치 프로그램 bat를 사용하여 개발된 백업 웹 사이트 및 데이터베이스 스크립트

@echo off
set date=%date:~0,4%-%date: ~5,2%-%date:~8,2%
mysqldump -uroot -ppassword -A -B > D:\back\"%date%".sql
rar.exe a -k -r -s -ml D:\bak\"%date%".sql.rar D:\bak\"%date%".sql
del D:\bak\*.sql
rar.exe a -k -r -s -ml D:\bak\"%date%"htdocs.rar D:\work\PHPnow\htdocs
로그인 후 복사

/var/log/message 시스템 로그 파일 명령 스크립트 지우기

# 使用root身份运行这个脚本
# 清除日志版本,版本:v1
cd /var/log
cat /dev/null > messages
echo "Logs cleaned up."
로그인 후 복사

문제:

 1. 루트 실행 권한으로 실행되지 않음 아니요

  2. 파일 존재 여부를 판단하는 프로세스 제어가 없습니다

LOG_DIR=/var/log
# $UID为0的时候,用户才具有root用户的权限
ROOT_UID=0

# 使用root用户来运行
if [ "$UID" -ne "$ROOT_UID" ]
then
  echo "Must be root to run this script."    
  exit 1
fi
cd $LOG_dir || {
  echo "Can't change to necesary directory." >&2
  exit 1
}
cat /dev/null > messages
echo "Logs cleaned up."
exit 0
# 推出之前返回0表示成功,返回1表示失败
로그인 후 복사

위 내용은 쉘 스크립트란 정확히 무엇입니까? 사용하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿