01shell入门基础

为什么学习和使用shell编程

shell是一种脚本语言,脚本语言是相对于编译语言而言的。脚本语言不需要编译,由解释器读取程序并且执行其中的语句,而编译语言需要编译成可执行代码,之后才可以执行。

什么是shell

  • shell的起源

  • shell的基本概念

  • shell的功能
    命令解释器

  • shell的分类

作为程序设计语言的shell

shell不仅可以充当用户与Unix或者Linux交互界面的角色,还可以作为一种程序设计语言。

交互式执行

创建脚本

向脚本传递参数

shell脚本的参数
参数如下:

例子:

  1. #! /bin/bash 


  2. echo "$# parameters" 

  3. echo "$@" 

执行结果:

参数的扩展

类似 ls -l

第一个shell程序

一个基本的shell程序,应该包含以下几个元素

  • “#! /bin/bash":指定解释器

  • 注释:说明某些代码的功能

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

  1. #! /bin/bash 


  2. echo "hello bash shell!" 


注释:
单行注释
多行注释:使用here document

  1. #! /bin/bash 

  2. :<<BLOCK 

  3. jijgijajg; 

  4. jisijgak 

  5. BLOCK 

  6. echo "hello bash shell!" 


shell的退出状态
退出状态由最后一条语句来决定。$?保存了退出状态,0表示成功

  1. #include <stdio.h> 

  2. int main() 



  3. printf("hello world\n"); 



01shell入门基础的更多相关文章

  1. mybatis入门基础(二)----原始dao的开发和mapper代理开发

    承接上一篇 mybatis入门基础(一) 看过上一篇的朋友,肯定可以看出,里面的MybatisService中存在大量的重复代码,看起来不是很清楚,但第一次那样写,是为了解mybatis的执行步骤,先 ...

  2. Markdown入门基础

    // Markdown入门基础 最近准备开始强迫自己写博文,以治疗严重的拖延症,再不治疗就“病入骨髓,司命之所属,无奈何”了啊.正所谓“工欲善其事,必先利其器”,于是乎在写博文前,博主特地研究了下博文 ...

  3. JavaScript入门基础

    JavaScript基本语法 1.运算符 运算符就是完成操作的一系列符号,它有七类: 赋值运算符(=,+=,-=,*=,/=,%=,<<=,>>=,|=,&=).算术运 ...

  4. C++ STL编程轻松入门基础

    C++ STL编程轻松入门基础 1 初识STL:解答一些疑问 1.1 一个最关心的问题:什么是STL 1.2 追根溯源:STL的历史 1.3 千丝万缕的联系 1.4 STL的不同实现版本 2 牛刀小试 ...

  5. HTML入门基础教程相关知识

    HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文 ...

  6. Linux shell入门基础(六)

    六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...

  7. Linux shell入门基础(一)

    Linux shell入门基础(一): 01.增加删除用户: #useradd byf   userdel byf(主目录未删除)  userdel -r byf   该用户的属性:usermod 用 ...

  8. AngularJS入门基础PPT(附下载链接)

    学习了Angularjs有段时间,自己写了一个PPT,个人认为总结的非常全面,对于入门基础够了. 大致模块有:Angularjs简单介绍,Angularjs特性,hello world,Control ...

  9. jQuery Mobile 入门基础教程

    jQuery Mobile是jQuery在手机上和平板设备上的版本.jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架. jQue ...

随机推荐

  1. RABBITMQ(小总结 持续更新...

    (一)理解消息通信 1.消息通信概念---消费者.生产者和代理 生产者(producer)创建消息,然后发送到代理服务器(RaabitMQ). 其中消息包括两部分内容:有效载荷(payload)和标签 ...

  2. [Java coding] leetcode notes

    1, 如何不排序而找到最大,次大或者最小值? var int max1, max2, min1; iterate array once: update max1, max2, min1, for ex ...

  3. vi & vim复制,粘贴,剪切文本

    我经常用vi编辑器,但基本上还是windows的习惯,没有系统的学过其功能,今天遇到了文本的复制这没有办法了,查看一下解决如下: 引用文本: ----------------------------- ...

  4. IIS7配置Gzip压缩 JS压强失败的原因

    开启配置HTTP压缩(GZip) 在IIS7中配置Gzip压缩相比IIS6来说实在容易了许多,而且默认情况下就是启用GZip压缩的.如果没有,则可以再功能视图下找到“压缩”项,进入之后就会看到“静态内 ...

  5. 获取Ca证书相关与服务器信息

    Request.ServerVariables["Url"] 返回服务器地址 Request.ServerVariables["Path_Info"] 客户端提 ...

  6. div内容滚动,无缝滚动

    function startmarquee(lh, speed, delay) {        var t;        var oHeight = 373; /** div的高度 **/     ...

  7. iOS 源代码管理工具之SVN

    源代码管理工具之SVN 源代码管理工具SVN是一款非常强大的源代码管理工具,现在国内70%-90%的公司都在使用SVN来管理源代码,下面就让小编给大家着重介绍一下SVN的使用,SVN的使用主要分为下面 ...

  8. hibernate 中createQuery与createSQLQuery两个用法

    hibernate 中createQuery与createSQLQuery两者区别是:前者用的hql语句进行查询,后者可以用sql语句查询前者以hibernate生成的Bean为对象装入list返回后 ...

  9. Page 指令的各个属性及其功能

    转载:http://www.cnblogs.com/elleniou/archive/2012/09/09/2678101.html 语法规则: <@%page attribute1=”valu ...

  10. 分布式blog系统 TFS总结

    解决的问题 文件总量太大  一台服务器无法存放 只能放在网络集群中分节点存放   也就是通过屏蔽网络部分 形成一个“ one big CPU” 和 “one big disk” .Client只需要向 ...