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后面的内容,作为解释器的质量,例如
  1. 以!#/bin/sh 开头的文件,程序在执行的时候会调用/bin/bash,也就是bash解释器
  2. 以!#/user/bin/python开头的文件,代表制定python解释器去执行
  3. 以!#/user/bin/env解释器名称,是一种在不同平台上都能正确找到解释器的办法
  • 注意事项
  1. 如果脚本未指定shebang,脚本执行的时候,默认用当前shell去解释接保本,即$shell
  2. 如果shebang制定了可执行的解释器,如/bin/bash  /usr/bin/python 脚本在执行时,文件会作为参数传递给解释器
  3. 如果#!指定的解释器程序没有可执行权限,则汇报错"bad interpreter:Permission denied"。
  4. 如果#!指定的解释器不是一个可执行文件,那么指定的解释程序会被忽略,转而交给当前的shell去执行这个脚本
  5. 如果#!制定的解释程序不存在,那么会报错:“bad interpreter:No such file or directory”。
  6. #!之后的解释程序,需要写其绝对路径 如#!/bin/bash 它是不会自动到$PATH中寻找解释器的。
  7. 如果你使用 bash test.sh这样的命令来执行脚本,那么#!这一行会被忽略掉,解释器当然是用命令中显示制定的bash

         

 

posted @   金朵  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示