很多时候,我们使用Linux时常常能看见运行.sh文件的命令:sh XXX.sh,那么和我一样的新手可能会疑惑,什么是shell?什么是.sh文件?

1. 什么是shell

这个问题shell的百度百科做出了很好的解释,shell本身是一个用C语言编写的命令行解释器,它作为用户使和Linux内核之间的桥梁,可以解释和执行用户输入的命令。我们在Linux的shell里输入命令,它就能和Linux内核打交道以响应该命令。

2. 什么是.sh文件

.sh文件通常指shell脚本文件(shell script),它是许多命令汇整写成的一个文件,运行它可以一次性执行多个命令。也就是说,我们想执行一个命令直接在命令行中输入就可以,想执行多条命令就可以写一个脚本文件然后运行,这个道理和MATLAB的M文件是一样的。什么是Shell?Shell脚本基础知识详细介绍中说到 “Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一行敲到Shell提示符下执行。”
我们经常能在网上看到shell工程师的招聘信息,可以看到编写shell脚本已经成为了一个职业,即使是写命令行也有很大学问。
值得注意的是,.sh是扩展名,就是起一个见名知意的作用,所以也可以起其他的扩展名,扩展名并不影响脚本执行。

3. 什么是bash

bash是shell的一种,bash是Linux系统默认使用的shell。前面已经说过了,shell就是一个命令行解释器,那么用户想要以不同的方式与Linux内核交互,就可以采用不同的shell,例如除bash外还有zsh、csh等等。

shell是什么?bash是什么?相关推荐

  1. linux shell脚本 wget,bash – 在shell脚本中运行wget和其他命令

    以下是编写shell脚本时要使用的一些准则. >使用它们时始终引用变量.这有助于避免误解的可能性. (如果文件名包含空格怎么办?) >不要相信像rm这样的命令上的文件加载.请改用循环. ( ...

  2. linux shell #[感叹号]/bin/bash 是什么意思?

    垃圾CSDN,标题里感叹号都发不出来! 文章目录 #!/bin/bash简介 1)`#!/bin/bash`只能放在第一行,如果后面还有`#!`,那么只能看成是注释. 2)#!后面的路径一定要正确,不 ...

  3. linux下的各种shell介绍(bash和dash转换)

    在linux下编写shell脚本文件时,经常会看到很多人在文件的第一行中标注"#!/bin/bash".这句话的意思是告诉系统强制用bash,避免出现一些不兼容的问题. 那么,在l ...

  4. shell 脚本和 bash 脚本的关系

    Shell 分类 常见的 Shell 有 sh.bash.csh.tcsh.ash 等.其中 bash shell 是 Linux 的默认 shell.即 bash 是 shell 的一种. bash ...

  5. 如何在 Linux 中创建并运行 Shell 脚本(Bash 初学者教程)

    文章目录 1.创建并运行第一个 shell 脚本 2.将 shell 脚本转换为 bash 脚本 3.为什么大多数 shell 脚本都包含 #! /bin/bash 在 shell 脚本的开头? 4. ...

  6. PHP执行Shell脚本或Bash脚本文件并返回命令输出详情

    PHP执行shell脚本或者Bash脚本文件实例. system和exec函数可能被配置文件禁用,可以通过修改php配置文件删除被禁用的函数. 1.通过system函数执行 使用实例: <?ph ...

  7. shell脚本编程学习笔记1(xdl)——shell基础与Bash基本功能()

    shell脚本编程学习笔记1--shell基础与Bash基本功能 1,简介: 1,Shell就是一个命令行解释器,用以连接输入设别和内核. 2,Shell是解 释执行的脚本语言,在Shell中可以直接 ...

  8. shell变量加单引号sql_关于shell:在Bash中的命令中扩展变量的单引号

    我想从bash shell脚本中运行一个命令,该脚本在单引号和变量中包含单引号和一些其他命令. 如repo forall -c '....$variable'. 在这种格式中,对$进行转义,不展开变量 ...

  9. linux shell 字符串 数组,bash shell函数返回数组字符串

    #!/bin/bash # script:getselfvar.sh # 每个脚本中都在末尾追加了一段特殊的域名ip序列,需要将这段序列存放到数组变量中,供 # 脚本使用,例子中的ip和域名是处理过的 ...

  10. Shell之/bin/bash脚本的基础实战

    本人菜鸟一枚,初次接触linux的shell脚本: shell script,最简单的功能就是将许多指令汇整写一起,让使用者很容易地就能够一个操作执行多个命令,而shell script更是提供了数组 ...

最新文章

  1. Android 如何在xmL 里面动态设置padding
  2. Spark任务调度流程及调度策略分析
  3. 08 域控 架构主机 转移_论无服务器架构的特征
  4. Android中Gson解析json数据使用@SerializedName注解
  5. C++字节序反转的实现算法(附完整源码)
  6. REST、SOAP、protocolbuf、thrift、avro
  7. windows中 修改某种文件图标 的方法 (备忘)
  8. 分布式锁RedLock的java实现Redisson
  9. python之路2.0_Python之路【第二十一篇】:JS基础
  10. php程序员学什么语言好就业_2019年初中毕业生学什么专业好?学什么专业好就业?...
  11. 推荐10个最好的Javascript和CSS库
  12. Eigen--.block(i,j,p,q)
  13. 通过poi读取ppt元素demo
  14. Linux 系统设置图形界面启动和黑窗口启动
  15. html源代码中 图像的属性标记,HTML图像标签img和源属性src及Alt属性、宽高、对齐...
  16. 飞速低代码 | 低代码,数字化建设的 “ 最后一公里
  17. 好意外,发现永久免费使用的云服务器
  18. 如何在excel多条件筛选
  19. Java学习(入门知识)
  20. 服务器红帽操作系统安装,怎么安装red hat操作系统

热门文章

  1. 电脑桌面哪有计算机,笔记本电脑上面的计算机在哪里 电脑的“计算机”如何找回?...
  2. python入门简单函数
  3. tips:使用echarts构建一个半圆环形图
  4. 【云计算学习笔记(二十一)】之Neutron子服务详细介绍
  5. android过渡动画旋转,炫酷的Android过渡动画
  6. android 获取dns地址吗,Android: 获取dns IP地址
  7. 【云原生】Apisix接入Nacos、K8s服务注册中心自动获取服务
  8. 快手推出快手虚拟演播助手
  9. numpy_append函数
  10. 背水一战 Windows 10 (38) - 控件(布局类): Panel, Canvas, RelativePanel, StackPanel, Grid