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. Oracle设置自动递增的方法

    1)创建序列: create sequence SEQ_TEST --字段名 minvalue 1        --最小值 maxvalue XXXXX      --设置最大值 start wit ...

  2. editor does not contain a main type的解决方案

    editor does not contain a main type的解决方案 今天用eclipse,当打算run一个带有main函数的class时,出现editor does not contai ...

  3. How to do code coverage test for windows service

    First, instrument the exe or dll by command vsinstr -coverage the dll/exe second, start the performa ...

  4. 关于JavaScript 中的变量

    JS的变量声明语句永远是在其作用域中最先执行的,不论其定义的位置在哪里: 函数体内部,局部变量的优先级比同名的全局变量高. Javas作用域分类 未使用var定义的变量不论定义在什么位置都是全局变量, ...

  5. Gradle简介和安装

    一.Gradle介绍 Gradle是一个基于JVM的构建工具,它提供了:像Ant一样,通用灵活的构建工具,可以切换的,基于约定的构建框架,强大的多工程构建支持,基于Apache Ivy的强大的依赖管理 ...

  6. 【JS】点击目标外事件与IFRAM自适应高度

    一.点击目标外事件 $(document).mouseup(function(e){ var _con = $('.dropdown-multiSelect-list'); // 设置目标区域 if( ...

  7. js中的call和apply方法的区别

    一.call和apply的说明 1.call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以 ...

  8. Android App Build System

  9. mysql my.cnf 配置详解

    #配置多实例声明[mysqld_multi]mysqld = /data/mysql_bin/bin/mysqld_safemysqladmin = /data/mysql_bin/bin/mysql ...

  10. java SHA1WithRSA 算法

    import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStrea ...