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脚本一键部署docker的实现步骤

    shell脚本一键部署docker的实现步骤

    作为一名经验丰富的开发者,我们经常需要使用Docker来快速部署各种应用,本文主要介绍了shell脚本一键部署docker的实现步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 详解&&、()、||决定linux命令的执行顺序

    详解&&、()、||决定linux命令的执行顺序

    这篇文章主要介绍了&&、()、||决定linux命令的执行顺序,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • Shell时间运算及时间差计算方法

    Shell时间运算及时间差计算方法

    这篇文章主要介绍了Shell时间运算及时间差计算方法,本文讲解了时间时间加减运算以及时间差计算方法,需要的朋友可以参考下
    2015-07-07
  • Linux 终端中命令输出保存到文件中的方法

    Linux 终端中命令输出保存到文件中的方法

    这篇文章主要介绍了如何将 Linux 终端中命令的输出保存到文件中实例操作,操作步骤非常详细,有需要的小伙伴可以按步骤来研究下吧
    2020-12-12
  • Linux下使用Rsync完成自动化备份

    Linux下使用Rsync完成自动化备份

    对于运维人员来说,数据备份是最重要的工作之一,rsync就是一款通过网络备份重要数据的工具/软件。
    2018-09-09
  • Linux 下sudo网络权限详解

    Linux 下sudo网络权限详解

    这篇文章主要介绍了Linux 下sudo网络权限详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • Linux使用文本编辑器vi常用命令

    Linux使用文本编辑器vi常用命令

    vi就是一种功能强大的文本编辑器,而vim则是高级版的vi,不但可以用不同颜色显示文字内容,还能进行诸如shell脚本、C语言程序编辑等功能,可以作为程序编辑器。下面通过本文给大家介绍linux 文本编辑器vi常用命令,一起看看吧
    2017-09-09
  • Linux中的内核链表实例详解

    Linux中的内核链表实例详解

    这篇文章主要介绍了Linux中的内核链表实例详解的相关资料,链表中一般都要进行初始化、插入、删除、显示、释放链表,寻找节点这几个操作,需要的朋友可以参考下
    2017-08-08
  • Jenkins中sh函数的用法示例小结

    Jenkins中sh函数的用法示例小结

    这篇文章主要介绍了Jenkins中sh函数的用法示例小结,通过实例代码讲解了三种用法,每种方法给大家介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • 在Linux与Windows上获取当前堆栈信息的方法

    在Linux与Windows上获取当前堆栈信息的方法

    下面小编就为大家带来一篇在Linux与Windows上获取当前堆栈信息的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06

最新评论