shell概念
一:什么是shell,shell的作用
- 解释执行用户输入的命令或程序
- 用户输入一条命令,shell就解释一条
- 键盘输入命令,linux给与相应的方式,称之为交互式
- shell是一块包裹着系统核心的壳,处于操作系统的最外层,与用户直接对话,把用户的输入,解释给操作系统,然后处理操作做系统的输出结果,输出到屏幕给用户看到结果
二:什么是shell脚本
- 当命令或者程序语句写在文件中,我们执行文件,读取其中的代码,这个程序文件称之为shell脚本。
- 在shell脚本里定义多条linux命令以及循环控制语句,然后将这些linux命令一次性执行完毕,执行脚本文件的方式称之为非交互式方式
- windows中存在*.bat 批处理脚本
- linux中常用*。sh脚本文件
- shell脚本规则,在linux系统重,shell脚本或者称之为bash shell程序通常都是vim编辑,由linux命令、bash shell指令、逻辑控制语句和注释信息组成
三:Shebang
- 计算机程序汇总,shebang指的是出现在文本文件的第一行前两个字符#!
- 在unix系统重,程序会分析shebang后面的内容,作为解释器的质量,例如
- 以!#/bin/sh 开头的文件,程序在执行的时候会调用/bin/bash,也就是bash解释器
- 以!#/user/bin/python开头的文件,代表制定python解释器去执行
- 以!#/user/bin/env解释器名称,是一种在不同平台上都能正确找到解释器的办法
- 注意事项
- 如果脚本未指定shebang,脚本执行的时候,默认用当前shell去解释接保本,即$shell
- 如果shebang制定了可执行的解释器,如/bin/bash /usr/bin/python 脚本在执行时,文件会作为参数传递给解释器
- 如果#!指定的解释器程序没有可执行权限,则汇报错"bad interpreter:Permission denied"。
- 如果#!指定的解释器不是一个可执行文件,那么指定的解释程序会被忽略,转而交给当前的shell去执行这个脚本
- 如果#!制定的解释程序不存在,那么会报错:“bad interpreter:No such file or directory”。
- #!之后的解释程序,需要写其绝对路径 如#!/bin/bash 它是不会自动到$PATH中寻找解释器的。
- 如果你使用 bash test.sh这样的命令来执行脚本,那么#!这一行会被忽略掉,解释器当然是用命令中显示制定的bash
像个小学生一样努力学习
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步