shell 总结(一)

一、shell是啥

        1.为啥要学shell?

(1)简单易学。

(2)解释型语言,不需要编译即可执行

(3)与Linux系统管理的学习息息相关

简而言之,shell编程语可以很大程度上简化系统管理员日常的维护工作,从而从简单的重复劳动中解脱出来。

        2.定义:shell是一种命令解释器,用来识别用户输入的各种命令,并传递给操作系统。它既是用户交互的界面,亦是控制系统的脚本语言。

        3.分类:shell的种类很多,大体有以下几种:

Bourne Shell (/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)(语法类似C语言)
K Shell(/usr/bin/ksh)
Shell For Root(/sbin/sh)

        4.查看自己主机当前系统支持的shell以及查看当前系统默认的shell

[root@server ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
[root@server ~]# echo $SHELL
/bin/bash

         5.shell的特性

作为程序设计语言,shell的特性有:

(1)逐条执行,即自上而下循环执行

(2)选择执行,只有一个分支时,在条件满足后才会执行;有两个以上分支时,只执行其中一个满足条件的分支。

(3)循环执行,循环体要执行0个,1个或多个来回。

        6.shell脚本编写规范

(1)创建脚本,脚本名称为“文件名.sh”,文件名应做到见名知义,并做到以sh结尾

(2)开头指定脚本解释器    #!/bin/bash

(3)下方添加版本版权等信息

Date:创建日期

Author:作者

Mail:联系方式

Function:功能

Version:版本

(4)注释时尽量使用英文注释,多写注释便于使用者理解其功能

(5)多多使用内部命令用以节省性能

(6)代码缩进。(shell虽没有强制要求,但仍然建议缩进,以提交代码的可阅读性,更有层次感。)

        7.小知识

快速生成脚本开头的版本版权注释信息

查看文件

[root@server ~]# cat ~/.vimrc
autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"

func Settitle() 
    if expand("%:e") == 'sh'
               call setline(1,"#!/bin/bash")
               call    
setline(2,"##############################################################")
        call setline(3, "# File Name: ".expand("%"))
               call setline(4, "# Version: V1.0")
               call setline(5, "# Author: xx")
               call setline(6, "# Email: xx@163.com")
               call setline(7, "# Organization: http://www.xx.com/xx/")
               call setline(8, "# Created Time : ".strftime("%F %T"))
               call setline(9, "# Description:")
               call
setline(10,"##############################################################")
        call setline(11, "")
           endif
endfunc 

把它拷贝到 /root/下并命名成.vimrc名称,这样以后再打开.sh文件时就会自动生成一些注释信息,只要稍微修改一下即可。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值