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不可以使用
还没有评论,来说两句吧...