zoukankan      html  css  js  c++  java
  • Linux系列教程(二十)——Linux的shell概述以及如何执行脚本

      从这篇博客开始,我们将进入Linux的shell脚本的学习,这对于Linux学习爱好者而言是特别重要的一节,也是特别有意思的一节,shell 脚本就像我们知道的Java,php类似的编程语言一样,通过shell脚本,我们能完成很多有意思的应用程序。在学习中找到乐趣,这也是最重要的。

      本篇博客我们先给大家介绍一下什么是shell,以及bash的基本功能。

    1、Shell 是什么?

      和大家通常说的shell是一门编程语言的说法其实是不完全正确的。

      ①、shell 是一个命令行解释器,它为用户提供了一个向 Linux 内核发送请求以便运行程序的界面系统级程序,用户可以用 shell 来启动、挂起、停止甚至是编写一些程序。

        比如,我们现在操作的界面就是shell,我们输入一些命令,通过shell 去翻译为机器语言,然后由硬件去执行这些命令。

      ②、shell 是一个功能很强大的编程语言,它易编写、易调试,而且灵活性强。shell 是解释执行的脚本语言,在 shell 中可以直接调用 Linux 系统命令。

      

      其实windows类似于shell的就是它的图形交互界面,我们在windows系统中打开文件,删除文件等操作,就是向windows系统发送命令。

    2、Shell 的分类

      

      

      

       

    3、查看Linux系统支持的 shell:/etc/shells

      

      我们可以在shell解释器中直接输入shell名称进行切换

      

    4、echo 输出命令

      这个命令如果学过Java的类似于 System.out.println(),如果学过C语言的类似于 printf(),在shell 当中语法形式如下:

    echo 【选项】【输出内容】
    

      -e  表示支持反斜杠控制的字符转换,也就是转义字符。

      

      范例:

      

    5、脚本执行方式

      首先我们编写一个shell 脚本。通过 vi hello.sh,打开 hello.sh 文件,然后在文件中添加如下内容:

      

      ①、我们说Linux系统是不区分文件后缀名的,这里我们学习的是 bash,所以创建文件 hello.sh,后缀名最好加上.sh(虽然不加也没问题),便于我们识别。

      ②、脚本的第一行 #!,这是一个约定的标记,它告诉系统这个脚本需要用什么解释器去执行,即使用哪一种 shell,所以学习 bash,第一行固定都是 #!/bin/bash。这是不能省略的。

      创建完毕之后,接下来执行该脚本,有如下两种方式:

      ①、作为可执行程序

    cd /tmp                     #进入到脚本所在的目录
    chmod +x ./hello.sh   #使得脚本具有可执行权限
    ./hello.sh                  #执行脚本
    

      注意,一定要写成 ./hello.sh,而不是 hello.sh,运行其它二进制的程序也一样,直接写 hello.sh,linux 系统会去 PATH 里寻找有没有叫 hello.sh 的(这是后面会讲的环境变量的配置),而只有 /bin, /sbin, /usr/bin,/usr/sbin 等在 PATH 里,你的当前目录通常不在 PATH 里,所以写成 hello.sh 是会找不到命令的,要用 ./hello.sh 告诉系统说,就在当前目录找。

      

      ②、作为解释器参数

      也就是直接运行解释器,其参数就是 shell 脚本的文件名,如下:

    /bin/sh hello.sh
    或者
    bash hello.sh
    

      注意:这种方式执行脚本,并不需要第一行写上 #!/bin/bash。

  • 相关阅读:
    iPhone电话与短信相关代码小结
    时间都去哪儿了?开源一个统计iPhone上App运行时间和打开次数的小工具【iOS8已失效】
    分享一个仿网易新闻客户端iPhone版的标签式导航ViewController
    iOS推送小结(证书的生成、客户端的开发、服务端的开发)
    Argy1risMatrix1
    2019河南模考题
    撮箕2020-3-8
    数学符号md
    2014全国甲&2015福建-几何题
    零点
  • 原文地址:https://www.cnblogs.com/ysocean/p/7819316.html
Copyright © 2011-2022 走看看