Shell入门编程(一)

原文链接: https://blog.csdn.net/a909301740/article/details/81476170
            <span

class=“creativecommons”>

            <a

href=“http://creativecommons.org/licenses/by-sa/4.0/”
rel=“license”>

                </a>
            版权声明:本文为博主原创文章,遵循<a

href=“http://creativecommons.org/licenses/by-sa/4.0/”
target="_blank" rel=“noopener”> CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

           <div

class=“article-source-link2222”>

                本文链接:<a

href=“https://blog.csdn.net/a909301740/article/details/81476170”>https://blog.csdn.net/a909301740/article/details/81476170

            </div>
                </div>
                                    <div

class=“markdown_views prism-github-gist”
id=“content_views”>

                <!-- flowchart 箭头图标

勿删 -->

                <svg

xmlns=“http://www.w3.org/2000/svg” style=“display:
none;”>

                    <path

id=“raphael-marker-block” style="-webkit-tap-highlight-color:
rgba(0, 0, 0, 0);" stroke-linecap=“round” d=“M 5 0 L 0 2.5
L 5 5 Z” />

                </svg>

Shell 简介

什么是 Shell?

  • shell 是操作系统提供给我们用户来访问系统资源的一个接口

  • shell 同时还是一个 Linux 下的命令行解释器,类似 Windows 下的 cmd。

  • shell 同时还是解释型的脚本语言:运行时翻译,执行一条语句翻译一条,每次执行程序都需要进行解释。

    Shell 的发展

  • shell 有多个版本:Bourne Shell,C Shell,Korn Shell,Bash Shell。现在广泛使用的是 Bash Shell,也就是 Linux 中默认内嵌的 Shell。
  • Shell 脚本

    交互模式

    当我们通过远程连接工具连接到了 Linux 服务器或者是虚拟机上时,就是进入了 shell 交互模式:

    这里写图片描述

    脚本模式

    将要执行的一系列命令都存放在一个文件中,然后由 bash shell 读取并执行,这就是 shell 的脚本模式:

    这里写图片描述

    解释一下上面的 test.sh 文件的内容:

  • 第一行:#!/bin/bash#!标示这是一个可以执行的脚本(最好写上),/bin/bash标示这个脚本是用该解释器来进行的解释。

  • 第二行:# this is test,以 #开头的一般是注释。

  • 第三行:echo "Hello World",向控制台输出 Hello World。

    运行 shell 脚本的两种方式

    将脚本作为命令行参数

  • 当前目录下:bash test.sh

    这里写图片描述

  • 其他目录下:bash /root/test.sh(绝对路径)

    这里写图片描述

    脚本独立运行

  • 在脚本第一行添加 #!/bin/bash

  • 给脚本的拥有者添加 x可执行) 权限 chmod 744

    这里写图片描述

  • 直接在命令行输入:./test.sh

    这里写图片描述

    shell 变量

    变量命名

    以字母或下划线开头,后可以跟字母数字下划线,区分大小写。

    变量赋值

    直接 “变量名=变量值” 即可。

    这里写图片描述

    变量取值

    在 shell 中,直接通过变量名是获取不到变量值的,需要在变量前加 $符号,更加严谨的做法是加 ${}

    这里写图片描述

    局部变量

    在某个 shell 中声明的变量,在其他的 shell 中获取不到。(不同的 shell 就是不同的命令行窗口

    环境变量(全局变量)

    作用于所有 shell(命令行窗口)的变量。

    一些预设的环境变量如下:

  • BASH:使用的 shell 解释器的位置。
  • BASH_VERSION:shell 解释器的版本。
  • UID:当前用户的 ID。
  • HOSTNAME:主机名。
  • LANG:系统使用的语言。
  • PATH:该变量里配置的路径下的文件可以直接执行。
  • 这里写图片描述

    取消变量

    unset aa:取消定义好的 aa 变量。

    位置参数:$0

    Shell中有一些预先定义的特殊只读变量,他们的值只有在脚本运行时才能确定,位置参数就是其中的一种,$0代表脚本本身,$1代表第一个参数,依次类推。

    这里写图片描述

    脚本或命令的返回值:$?

    在shell中,任何一个命令执行过后都会有一个返回值,这个返回值会指示上个命令的执行状态,通过返回值就可以知道上一个命令是否正确执行。

    这里写图片描述

    shell 的内建命令

    命令分两种:可执行文件 + 內建命令

    Shell内建命令,就是由 Bash 自身提供的命令,而不是其他地方提供的可执行文件。

    常用的一些內建命令:

  • type:判断一个命令是不是內建命令。

  • alias:为命令起别名。

  • unalias:删除别名。

  • jobs:查看后台的任务。

  • bg:把任务放在后台继续运行。

  • fg:把任务放到前台运行。

  • Ctrl + z:把任务暂停,放到后台。

  • echo:显示某个变量的值。

  • exit:当前用户退出系统。

  • export:将某个变量导出为环境变量。

  • kill:杀掉某个进程。

  • pwd:打印当前所在的目录。

    关注我的微信公众号(曲健磊的个人随笔),观看更多精彩内容:

    在这里插入图片描述

    猜你喜欢

    转载自blog.csdn.net/weixin_45596274/article/details/102645840
    今日推荐