场景:只知道写shell脚本,却不知道什么是shell?那shell是什么呢?找到了之前在腾讯课堂上看的视频,这是课件笔记
你学Linux的话,不懂shell等同于不懂linux
shell是操作系统的最外层,shell可以合并编程语言以控制进程和文件,以及启动和控制其他程序。
简单来说:shell就是一个用户跟操作系统之间交互的命令解释器
感觉像是java和虚拟机的关系一样
在一些复杂的Linux维护工作中,大量重复的输入和交互操作不但费时费力,而且容易出错.
编写脚本的好处:批量的处理,自动化的完成维护,减轻管理员的负担.
不说不知道,一说吓一跳呀,在工作中经常写一些脚本,就是为了方便。
shell独立于内核,它是链接内核和应用程序的桥梁。内核是linux系统的心脏,从开机自检就驻扎在计算机内存中,直到计算机关闭为止。用户的应用程序存储在计算机硬盘上,仅当需要时才被调入内存。shell是一种应用程序,当用户登陆linux系统时,shell就会被调用到内存执行。
不登录怎么执行呢,好像听说过有nologin 的一种模式
linux的shell脚本是一种特殊的应用程序,常见的shell解释器有很多种使用不同的shell时期内部指令命令提示方式方面会存在一些区别,可以通过/etc/shells文件查看
就是不同命令之间有不同的显示和操作
/bin/bash 是大多数linux中默认的shell解释器。
还有chsh不过不经常用,我们一般都是写bash,头文件中添加#!/bin/bash的标志
如何编写第一个Shell脚本(shell 就是命令的集合)
其实就是命令的集合,唯一的区别使shell脚本我们可以优化,加入一些for循环,if条件语句。
linux不以后缀名区分文件,为了方便记忆这里我就以.sh为结尾
编写一个shell
[support@CMS01 wdq]$ vim first.sh#!/bin/bash
#!/bin/bash
#auto my frist scripts
#by authors cd
echo "hello world"
mkdir /home/support/tmp/wdq/test
free -m
注释:
#!/bin/bash 主要是为了声明,我所写的均为bash语言(我是用的是bash解释器)[定义我的脚本是shell脚本].{固定格式}
#! 称为sha-bang符号,是shell脚本的起始符,他告诉linux系统这个文件的执行需要指定一个解释器。
ll查看是都有权限
[support@CMS01 wdq]$ ll
total 8
-rw-rw-r-- 1 support support 1388 May 9 19:51 backupLogs.sh
-rw-rw-r-- 1 support support 96 Jul 2 17:16 first.sh
[support@CMS01 wdq]$ chmod u+x first.sh
#赋执行权限
在执行标准/bin/bash/+脚本来执行,这样的就不需要加权限了。
执行权限的不同方式
第一种使用绝对路径执行
第二种使用相对路径执行,如./的方式
第三种使用 sh命令来执行 格式 sh 脚本名 不需要执行权限
第四种使用 . (空格)脚本名称的方式执行 不需要执行权限 . a.sh
第五种使用 source 脚本名称 不需要执行权限(主要用于生效配置文件)
建议使用后三种,在生产环境中不要轻易的给文件可执行权限;
今天的文章什么是shell,它有什么作用?_shell在服装中什么意思[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/75523.html