Shell命令解释器分类示例详解

 更新时间:2023年05月10日 10:50:02   作者:情哥是小白  
Shell是负责User与Linux OS之间沟通的桥梁,Shell为用户提供了一个操作界面,User在这个界面输入指令,其实就是通过Shell向Linux Kernel传递过去,这也就是为什么Shell也叫解释器的原因,这篇文章主要给大家介绍了关于Shell命令解释器分类的相关资料,需要的朋友可以参考下

Shell命令解释器:介于  系统内核——>命令解释器——>外围应用程序:应用/命令/服务

Shell编程:bash编程

1、命令解释器

bash目前应用最广泛的一款命令解释器,红帽系列(默认),Debain,Unbantu,BASH全称:Bourne-Again Shell
dash一般Debain/Unbantu系统默认的,运行脚本推荐使用bash lidao.sh
csh,tcsh一些unix系统使用
zsh功能更多,支持更多的插件,可以更好看

2、编程语言分类

解析:直接解析型shell,python,书写代码后,通过对应解析器运行
编译:需要编译后运行C,C++

解释型

[root@localhost ~]# vim 1.py
[root@localhost ~]# cat 1.py
                    print("hrllo world!")
[root@localhost ~]# python 1.py
                    hrllo world!

3、Shell脚本执行方式

1通过sh或bash执行

[root@localhost shell]# vim 01.exec.way.sh
[root@localhost shell]# cat 01.exec.way.sh 
hostname
pwd
whoami
[root@localhost shell]# sh 01.exec.way.sh 
localhost.localdomain
/root/shell
root
[root@localhost shell]# bash 01.exec.way.sh 
localhost.localdomain
/root/shell
root
[root@localhost shell]# ll `which sh bash`
-rwxr-xr-x. 1 root root 964544 Apr 10  2018 /usr/bin/bash
lrwxrwxrwx. 1 root root      4 Mar 23 05:59 /usr/bin/sh -> bash

2通过source或 . 执行

[root@localhost shell]# . 01.exec.way.sh 
localhost.localdomain
/root/shell
root
[root@localhost shell]# source 01.exec.way.sh 
localhost.localdomain
/root/shell
root

3通过绝对路径或相对路径执行

[root@localhost shell]# ./01.exec.way.sh
-bash: ./01.exec.way.sh: Permission denied
[root@localhost shell]# chmod +x ./01.exec.way.sh 
[root@localhost shell]# ls -l
total 4
-rwxr-xr-x. 1 root root 21 May  6 01:15 01.exec.way.sh
[root@localhost shell]# ./01.exec.way.sh
localhost.localdomain
/root/shell
root

4通过重定向符号运行

[root@localhost shell]# sh < 01.exec.way.sh 
localhost.localdomain
/root/shell
root
[root@localhost shell]# bash < 01.exec.way.sh 
localhost.localdomain
/root/shell
root

4、应用场景

应用及场景

通过sh或bash执行书写脚本后,最常用的方式,在其他非红帽系统中。建议使用bash运行脚本
通过.或source加载/配置生效文件(环境变量,别名)可以用来实现include功能,八其他脚本引用到当前脚本中
通过相对或绝对路径一般不推荐使用这种,系统脚本/服务使用脚本(加上执行权限)
输入重定向符不推荐使用

总结

相关文章

  • shell 脚本之用ab每隔30分钟并发一次休息10分钟

    shell 脚本之用ab每隔30分钟并发一次休息10分钟

    这篇文章给大家分享如何使用shll解决用ab每隔30分钟并发一次休息10分钟,需要的朋友可以参考下
    2019-11-11
  • 如何利用 tee 命令调试shell脚本中的管道

    如何利用 tee 命令调试shell脚本中的管道

    在编写shell脚本时,调试是个比较麻烦的事,特别是涉及到多层管道命令的时候,会产生多个中间结果,tee命令的作用是从标准输入中读取数据写入标准输出或文件中,利用它可以从管道中读取中间结果并写入本地临时文件中,通过中间结果可以一步一步的定位到脚本的错误
    2021-05-05
  • Shell中整数计算的几种方式

    Shell中整数计算的几种方式

    今天小编就为大家分享一篇关于Shell中整数计算的几种方式,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 一个简单的linux命令 cp

    一个简单的linux命令 cp

    这篇文章主要介绍了一个简单的linux命令cp,cp命令用来复制文件或者目录,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • shell脚本实现快速生成xml格式sitemap实例分享

    shell脚本实现快速生成xml格式sitemap实例分享

    这篇文章主要介绍了shell脚本实现快速生成xml格式sitemap实例分享,只是本文的脚本首先需要一个创建好的URL集合文件,也就是数据源才可以生成,需要的朋友可以参考下
    2014-12-12
  • 用shell+sendmail实现服务器监控报警小脚本

    用shell+sendmail实现服务器监控报警小脚本

    用shell+sendmail写的服务器监控报警小脚本,有需要的朋友可以参考下
    2013-03-03
  • php-fpm开机自动启动Shell脚本

    php-fpm开机自动启动Shell脚本

    这篇文章主要介绍了php-fpm开机自动启动Shell脚本,本文脚本只是范例,其实你编译安装完成后,启动脚本已经生成在编译目录中,只需要复制出来用就可以了,需要的朋友可以参考下
    2015-06-06
  • Shell脚本之文件批量创建与修改的简单方法

    Shell脚本之文件批量创建与修改的简单方法

    有时需要将文件内容进行修改,如果文件数量不多可以一个一个修改,那么如果文件数量很多一个一个修改很麻烦,这篇文章主要给大家介绍了关于Shell脚本之文件批量创建与修改的相关资料,需要的朋友可以参考下
    2021-06-06
  • linux shutdown命令详解

    linux shutdown命令详解

    Windows 系统自带一个名为Shutdown.exe的程序,可以用于关机操作(位置在Windows\System32下),一般情况下Windows系统的关机都可以通过调用程序 shutdown.exe来实现的,同时该程序也可以用于终止正在计划中的关机操作
    2017-09-09
  • 完美解决Linux搭建sftp出现Write failed:Broken pipe的问题

    完美解决Linux搭建sftp出现Write failed:Broken pipe的问题

    下面小编就为大家带来一篇完美解决Linux搭建sftp出现Write failed:Broken pipe的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论