shell详解 从原理到应用

第一章 Shell 概述

总的来说,shell其实就是一个命令行解释器,它用来接收应用程序或者用户的命令,然后调用操作系统内核来完成相应的任务。
这里所说的命令行解释器需要好好地理解下,说成大白话,解析器的实质就是将用户输入的指令转化为机器可以运行的程序,从而可以达到满足用户需求的目的。
在这里插入图片描述
我们为什么要用shell:shell是一个强大的编程语言,易编写、易调试、灵活性强。在linux中,我们常常编写shell脚本来满足我们的部分需求。例如,集群启动脚本,文件复制分发脚本。

1)linux中提供的shell解析器有(需要在etc目录下的shells中查看)
在这里插入图片描述
需要重点关注的是前两个/bin/sh和/bin/bash

2)bash和sh的关系
来到/home/atguigu(用户)/bin目录下,输入以下命令

[root@hadoop101 bin]$ ll | grep bash                                        
-rwxr-xr-x. 1 root root 941880 5月  11 2016 bash        //这一行表示我们当前linux默认用的是
                                                           bash解析器
lrwxrwxrwx. 1 root root      4 5月  27 2017 sh -> bash  //这一行表示linux中sh是bash的软连接

从代码中可以看出,**sh是bash的软连接,也就是sh是bash的快捷方式**,所以这样看来sh和bash在功能上,并没有什么实质上的区别。

3)Centos默认的解析器是bash
在这里插入图片描述
linux中我们用的解析器都是bash解析器

第二章 Shell脚本入门

1)脚本格式
脚本以**#!/bin/bash**开头(制定解析器为bash)

2)shell脚本简单示例:helloworld
(1)示例:创建一个shell脚本,输出helloworld
(2)案例实操:

首先打开一台已经创建完成的linux虚拟机,这里笔者的为hadoop101虚拟机,在/home目录下输入mkdir datas创建datas文件夹
然后再datas文件夹下进行以下操作:

[atguigu@hadoop101 datas]$ touch helloworld.sh           //创建helloworld.sh脚本文件
[root@hadoop101 datas]$ vi helloworld.sh                 //编辑helloworld文件

在helloworld.sh中输入如下内容
#!/bin/bash
echo "helloworld"

(3)脚本的常用执行方式
第一种:采用bash或sh加上脚本的相对路径或者绝对路径(这种方式不用赋予+x权限)
sh+脚本的相对路径:

[atguigu@hadoop101 datas]$ sh helloworld.sh
helloworld

sh+脚本的绝对路径:

[atguigu@hadoop101 datas]$ sh /home/atguigu/datas/helloworld.sh
helloworld

bash+脚本的相对路径:

[atguigu@hadoop101 datas]$ bash helloworld.sh
helloworld

bash+脚本的绝对路径:
[atguigu@hadoop101 datas]$ bash /home/atguigu/datas/helloworld.sh 
 helloworl
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值