셸 스 크 립 트 git 프로젝트 자동 배치 실현

다음 내용 은 스 크 립 트 를 작성 할 때 사용 하 는 linux \ 셸 \ git 내용 의 총 결 일 뿐 전면적 인 총 결 이 아 닙 니 다.
  • 셸 파일 헤더: (\ #! 기호 표시, 스 크 립 트 는 어떤 해석 기 가 필요 합 니까? 즉, 어떤 셸 을 사용 합 니까?) 예 를 들 어 \ #! /usr / bin / env sh 에서 자주 사용 하 는 셸 은 다음 과 같 습 니 다. Bourne Shell (/ usr / bin / sh 또는 / bin / sh) Bourne Again Shell (/ bin / bash) C Shell (/ usr / bin / csh) K Shell (/ usr / bin / ksh) Shell for Root (/ sbin / sh)...
  • 자동화 배치 절차: 프로젝트 홈 디 렉 터 리 (cd...) 로 전환 - > 프로젝트 프로 세 스 id, kill - 9 pid - > git checkout 버 전 번호 - > git pull - > 프로필 검사 - > 시작 프로 세 스, 코드 는 다음 과 같 습 니 다 (비 표준 프로 세 스): defcd () {\ # 프로젝트 홈 디 렉 터 리 cd ${path} pwd \ # 입력 분기 버 전 read - t 30 - p"checkout 이 필요 한 버 전 번 호 를 입력 하고 Enter 키 를 누 르 십시오." branch master \ # 지정 한 분기 git checkout ${branch master} \ # 기 존 로그 내용 을 삭제 하거나 cat / dev / null > giterror. txt \ # rm - rf giterror. txt rm - rf pull. txt \ # echo 업데이트 시작 check = "git pull" ${check} > pull. txt key ="Please commit your changes or stash them before you merge" \ # 오류 로그 grep - s KaTeX 구문 오류 찾기: 예상 되 는 'EOF', got '\ #' at position 32:... giterror. txt \ #̲업데이트 가 잘못 되 었 는 지 판단 하기 if [... {branch master} git pull echo "로 컬 에 수정 이 있 습 니 다. 로 컬 수정 을 먼저 취소 하 십시오" else echo "로 컬 수정 이 없 으 며 업데이트 에 성 공 했 습 니 다" fi \ # 비교 프로그램 프로필 rm - rf diffrent. txt file2 bk = "... / config. json bk" diff config. json $file2 bk > diffrent. txt if [- s "diffrent. txt"]; then \ cp ${file2 bk}config. json echo "mysql. json 파일 이 교체 되 었 습 니 다" else echo "mysql. json 파일 을 교체 할 필요 가 없습니다" fi \ # 프로젝트 이름 process name = "iqidao" killall KaTeX parse error: 예상 되 는 'EOF', got '\ #' at position 21:... ess name} \ #̲프로젝트 프로 세 스 번호 pi 가 져 오기... (ps - ef | grep iqidao | grep - v grep | awk '{print $2}') echo p i d n o i f [− z "{pid no} if [- z" pidn oif [− z "{pid no}] then echo" 프로 세 스 가 kill 되 었 습 니 다 "else kill - 9 KaTeX parse error: 예상 되 는 'EOF', got '\ #' 위치 51:... - 9 명령" fi \ #̲echo "컴 파일 시작"... (ps - ef | grep iqidao | grep - v grep | awk '{print $2}') echo p i d n o r e b o t i f [− z "{pid no rebot} if [- z" pidn or ebotif [− z "pid no rebot"] then echo "프로 세 스 시작 실패, 오 류 를 확인 하 십시오" else echo "프로 세 스 성공 시작" fi} defcd
  • 관련 된 셸 총화:
  • [변수] a. 정의 변수: var value = "Hello" b. 인용 변수: v a r v a l u e 또는 var value 또는 varv alue 또는 {var value}
  • [키보드 입력 가 져 오기] read - p (제시 문) - n (문자 개수) - t (대기 시간) - s (재생 되 지 않 음) a. - t 30: 즉 30s 시간 을 기다 리 고 입력 하지 않 으 면 b. - s 입력 내용 을 종료 할 때 모니터 에 표시 되 지 않 으 며 입력 이 완료 되면 모니터 에 표 시 됩 니 다.
  • [산수 연산 자] 가감 승제, 취 여 는 a. val = expr $a + $b b. val = expr $a - $b c. val = expr $a \* $b d. val = expr $a / $b e. val = expr $a % $b f. [$a = = $b] h. [$a! = $b]
  • [문자열 연산 자] 변수 a. - z 판단 변수의 값, 비어 있 는 지, 비어 있 는 지 True b. - n 판단 변수의 값 이 비어 있 는 지, 비어 있 는 지 false 형식 으로 되 돌려 줍 니 다. [- z "$var value"]
  • [연산 자] 파일 판단 a. [- s file] 파일 이 비어 있 는 지, 비어 있 지 않 은 지 True b 로 되 돌아 갑 니 다. [- e file] 파일 이 존재 하 는 지 판단 하고 True 로 되 돌아 갑 니 다
  • [프로 세 스 제어] if 문 구 는 내용 과 [] 사이 에 빈 칸 이 있어 야 합 니 다. 그렇지 않 으 면 if [condition] then command 1 echo "* * * * * *" else command 2 echo "$$$$$$$" fi
  • [출력] a. echo "* *" b. printf "$$$"
  • 관련 된 Liux 명령 은 a. cd path 를 지정 한 디 렉 터 리 b. rm 으로 전환 하여 파일 을 삭제 합 니 다. 강제 삭제: - f 는 디 렉 터 리 에 있 는 모든 파일 을 삭제 합 니 다. - r 는 모든 파일 을 삭제 합 니 다. rm - rf / home c. grep 는 내용 을 찾 고 출력 줄 번 호 를 찾 습 니 다. - n 검색 내용 은 대소 문 자 를 구분 하지 않 습 니 다. - i 는 / home / log 파일 에서 tomcat 에 관 한 모든 내용 을 찾 고 출력 줄 번호: grep -ni tomcat / home / log d. diff: 파일 차이 비교 diff $file 2 $file2 bk e. ps 는 j 프로 세 스 가 터미널 에 있 는 모든 프로 세 스 를 표시 합 니 다. a 는 모든 프로 세 스 와 경 로 를 표시 합 니 다. - e 는 실행 중인 프로 세 스 를 표시 합 니 다. - r 전체 형식 표시: - f 는 모든 프로 세 스 와 자세 한 경 로 를 봅 니 다. ps - ef | grep process f. kill - 프로 세 스 를 죽 이 고 강제 실행 합 니 다: kill - 9 pid killall process = ps aux| grep 프로 세 스 이름 + kill - 9 pkill process h. cp 복사 파일 은 이름 이 바 뀐 파일 을 직접 덮어 씁 니 다. 알림 을 주지 않 습 니 다. - f 는 중복 알림 을 줍 니 다. - i 복사 디 렉 터 리 및 모든 파일: - r 파일 작업 권한 과 함께 복사 합 니 다. - p 강제 복사: \ cp 는 / home / a 폴 더 의 모든 파일 을 / usr / local 로 강제로 복사 합 니 다. 파일 작업 권한 은 변 하지 않 습 니 다. cp - rfp / home / a / usr / local i. 삭제 합 니 다.파일 내용 (1): > filen (2) > file (3) echo "> file (4) echo > file (5) cat / dev / null > file
  • 관련 git 내용 요약 a. git tag – 모든 버 전 b. git checkout + 버 전 번호 보기 – 현재 버 전 c. git pull origin 버 전 으로 전환 - 업데이트; git pull 기본 업데이트 현재 분기 d. git fetch - all 원 격 콘 텐 츠 를 다운로드 하고 로 컬 e. git reset -- hard origin / master Head 가 가리 키 는 최신 버 전
  • 좋은 웹페이지 즐겨찾기