shell :基本格式.md

shell

  • Shell又称命令解释器,它能识别用户输入的各种命令,并传递给操作系统

  • Shell既是用户交互的界面,也是控制系统的脚本语言

shell的分类

  • Bourne Shell:标识为sh,该Shell由Steve Bourne在贝尔实验室时编写。在许多Unix系统中,该Shell是root用户的默认的Shell。
  • Bourne-Again Shell:标识为bash,该Shell由Brian Fox在1987年编写,是绝大多数localhost发行版的默认的Shell。
  • Korn Shell:标识为ksh,该Shell由贝尔实验室的David Korn在二十世纪八十年代早期编写。它完全向上兼容 Bourne Shell 并包含了C Shell 的很多特性。
  • C Shell:标识为csh,该Shell由Bill Joy在BSD系统上开发。由于其语法类似于C语言,因此称为C Shell。
#查看系统支持的shell
[root@localhost ~]# cat /etc/shells 
[root@HAHA ~]# cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bbash

[root@localhost ~]# chsh -l
#如何查看当前系统默认shell?
[root@localhost ~]# echo $SHELL
/bin/baSh

shell脚本

定义
  • 将经常使用的命令,存放在一个文件中,shell读取文件,并按顺序执行
脚本格式
  • shell脚本文件以.sh为后缀名

  • 指定脚本解释器,除了第一行的#其他都是注释

    #!/bin/bash
    #!/bin/sh
    #!/user/bin/env bash
    
  • 开头加版本版权等信息

    # Date:创建日期
    # Author:作者
    # Mail:联系方式
    # Function:功能
    # Version:版本
    
  • 注释:说明某些代码的功能

  • 可执行语句:实现程序的功能

    • 多使用内部命令 内部命令可以在性能方面为你节省很多
    • 没有必要使用cat命令 vim % co $
    • 代码缩进
#自动添加版权信息

[root@ scripts]# cat  ~/.vimrc 		#编辑当前用户的vim配置

autocmd BufNewFile *.py,*.cc,*.sh,*.java exec ":call SetTitle()"
#识别后缀为.py .cc .sh .java的文件自动添加

func SetTitle()
        if expand("%:e") == 'sh'
                call setline(1,"#!/bin/bash")
                call setline(2,"##############################################################")
                call setline(3, "# File Name:
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值