셸 인 코딩 규범

10148 단어
주석
프로그램 헤드 는 버 전과 기능 설명 에 주석 을 달 아야 한다.그러나 프로그램의 첫 줄 은 한 자 를 쓸 수 없다.
프로그램 체 에는 필요 한 주석 이 포함 되 어 있어 야 합 니 다. 설명 은 다음 과 같 습 니 다.
한 줄 주석 은 코드 줄 의 끝 이나 코드 줄 의 상단 에 놓 을 수 있 습 니 다.
여러 줄 주석 은 복잡 한 기능 설명 을 주석 하 는 데 사용 되 며 프로그램 체 에 넣 을 수도 있 고 코드 블록 의 시작 부분 에 넣 을 수도 있 습 니 다.
코드 를 수정 할 때 수 정 된 내용 에 대해 필요 한 버 전 주석 과 기능 설명 을 추가 해 야 합 니 다.
명명 규칙
1.               、    ;2.   、   、      20   ;3.          ,      ,             ,      ,       ,     ,      3~4   。4.          ,       (  U      ,        , :                 );5.    Linux     true、    PWD (   );6.          ,          

, 。 , f1 , 。 , 。

: , , test, UNIX test 。

  • , 、 。

  • 50-100 ,

  • , ,

  • , , 。

  • , function 。

1、             2、         ,                 3、   4、      5、      6、      ,     7、         GNU  8、             

#!/bin/bash# -------------------------------------------------------------------------------# Filename:    check_mem.sh# Revision:    1.1# Date:        2009/02/10# Author:      Ajian# Email:       ajian521#gmail.com# Website:     www.ohlinux.com# Description: Plugin to monitor the memory of the system# Notes:       This plugin uses the "" command# -------------------------------------------------------------------------------# Copyright:   2009 (c) Ajian# License:     GPL## This program is free software; you can redistribute it and/or# modify it under the terms of the GNU General Public License# as published by the Free Software Foundation; either version 2# of the License, or (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## you should have received a copy of the GNU General Public License# along with this program (or with Nagios);## Credits go to Ethan Galstad for coding Nagios# If any changes are made to this script, please mail me a copy of the changes# -------------------------------------------------------------------------------#Version 1.0#The first one , can monitor the system memory#Version 1.1#Modify the method of the script ,more fast

Shell , , , TAB , 。 TAB , TAB, 。

,Windows , VIM

:set softtabstop=4

:set tabstop=4 TAB , TAB , 8 , 。

TAB ,:retab

vim vim ~/.vimrc, “VIM ”

80 , , “\” , 。

, :

1)

activate some_very_long_option \         some_other_option

2) 2

activate some_very_long_option \  some_other_option

, , , “ ” 。

: , for/while , if 。

HEAD_KEYWORD parameters; BODY_BEGIN  BODY_COMMANDSBODY_END

  • HEAD_KEYWORD ;
  • BODY_BEGIN ;
  • BODY 2 ;
  • BODY_END ;
1)if/then/elif/else    if ...; then  ...elif ...; then  ...else  ...fi2)for  for f in /etc/*; do  ...done3) while/until  while [[ $answer != [YyNn] ]]; do  ...done4) case    case $input in  hello)    echo "You said hello"  ;;  bye)    echo "You said bye"    if foo; then      bar    fi  ;;  *)    echo "You said something weird..."  ;;esac

  • 100% , ( : hello) (hello));
  • ;;
  • , ;

, , :

  • [[ ]] ;
  • case $WORD in WORD ;
  • var=$WORD , , 。

, , :

list="one two three"# you MUST NOT quote $list herefor word in $list; do  ...done

the article about command substitution [Bash Hackers Wiki] , $( .. ) 。

, , ...。

, , 。

: , ”$TERMTYPE”, “${TERMTYPE}”, , :

, , , :

$ , $(ls inst_.sh), `ls inst_。sh`

, i、j 。 , UserIndex。

, ,

, —— —— 。

, , 。 , , , 。

if

if/then/else then , else 。

, if , case 。

if 5 , 。

case

case case 。 , 4 5 。 , 。

case *) 。

case 。

while

Exit while ; , 。

while while , 。

for

, for while 。

#!SHEBANGCONFIGURATION_VARIABLESFUNCTION_DEFINITIONSMAIN_CODEShebang

, shebang。

/bin/sh shebang, Linux ,/bin/sh Bash 。

,shebang :

, ; , ; , 0 ,1 ;

if the script is interactive, if it works for you and if you think this is a nice feature, you can try to save the terminal content and restore it after execution;( : ) ; ; STDOUT, 、 STDERR; ;

, , , 0, 。 , , , 。

좋은 웹페이지 즐겨찾기