微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

shell编程第一天

shell编程第一天

shell简介

什么是shell

shell是一门编程语言,是操作者和操作系统对话的一种工具,相当于一种应用程序,也就是操作者将自己的需求反馈给应用程序,应用程序给操作系统,操作系统翻译给硬件,最后去执行。shell俗称是壳,一种命令解释器。shell就是将我们已知的命令写到一个文件中去,变成一个新的应用程序。

shell语言的特点

shell语言是指unix操作系统的命令语言,同事有是该命令语言的解释程序的简称。shell的本身是一个用C语言编写的程序,它是用户使用unix和linux的桥梁,用户的大部分的工作都是通过shell完成的。

shell的作用

shell可以做的事情有很多,比如说:

1.自动化批量系统初始化程序(update 软件安装 设置时区 安全策略)
2.自动化批量软件部署程序(LAMP LNMP TOMCAT LAS Nginx
3.应用管理程序(kvm,集群管理扩容 MysqL
4.日志分析处理程序
5.自动化备份恢复程序(MysqL完全和增量备份 计划任务)

等等
shell可以做很多的事情,那怎么执行shell呢?

shell的执行方式

准备测试的文件
创建文件并且写入内容

vi /shell/file1
read -p "请输入您的姓名:" name
echo "2021,祝$name牛年大吉"

保存并且退出

  • 第一种执行方式:bash shell文件
bash file1
  • 第二种执行方式:sh shell文件
sh file1

第一种的bash和第二种的sh都是同一种应用程序,只不过称呼有些不同

在这里插入图片描述

第一种和第二种执行的方式是子shell。


  • 第三种执行方式:. shell文件
. file1

第三种执行方法中的点. 代表的是当前目录,也就是当前目录下去执行shell文件,就相当于windows上的双击应用程序一样,使用./也可以

  • 第四种执行方式:source shell文件
source file1

第三和四种是本shell运行

四种执行方式的区别:

第一种和第二种执行的方式是子shell,当我们进入电脑打开命令行时在命令行中写入
bash时就已经打开了一个子shell程序,只不过这个子shell和本shell长得一样,区分不出来而已。
那么既然不容易观察,怎么证明前两种的执行的是子shell程序的呢?
可以尝试exit来退出,来观察命令行的反应,如果命令行并没有关闭则证明是子shell,如果命令行关闭了则证明是本shell

在这里插入图片描述

由此证明第一种和第二种是子shell执行,他们之间的关系就相当于亲子关系。
第一种和第二种在执行时先进入一个子shell程序,把shell文件执行完成后,再退出子shell程序
怎么证明?
编写一个shell文件file2.sh(在这里文件的编写并没有要求必须要扩展名并不影响运行,加扩展名只是更体现的更加专业)

vi file2.sh
#!/usr/bin/bash第一行是脚本声明,表示的是shell语言编写的,其中的#表示是注释,!表示起始语
cd /home/# 到home目录下
ls# 查看当前的目录

保存退出
使用第一种或者是第二种执行方式:

在这里插入图片描述

目录并没有发生改变,证明bash在执行完后退出了子shell程序。
第三四种执行方式:

在这里插入图片描述

当前目录发生了改变,由shell变成了home,证明是本shell.

shell编辑器的位置

使用以下的命令可以查看shell程序的位置

cat /etc/shells

或者是

chsh -l

在这里插入图片描述


只不过有些shell可以使用,有些shell不可以使用

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐