shell基础1

shell基础1

什么是shell

centos ubuntu suse

具体实现了shell的软件 bash

shell 是一个壳(解释器,翻译官),通过c语言写的一个命令

  • 解释执行用户输入的命令或程序等
  • 用户输入一条命令,shell就解释一条
  • 键盘输入命令,linux给与响应的方式,称为交互式

image-20230615174204119

shell是一个包裹着操作系统核心的壳,处于操作系统的最外层,与用户直接对话,把用户的输入给操作系统,,然后处理操作系统的输出结果,输出到屏幕给与用户看到结果

image-20230615174628257

一个命令:通过c语言的一段代码进行编 译,

我们想要获取计算机的数据,不可能每次都编写程序,编译后,再运行,再得到我们想要的。例如你想要找到一个文件,可以先写一段c语言的代码,然后调用系统函数,通过gcc编译后,运行找到这个文件

因此有开发写出了shell解释器,能够 让我们方便的使用linux

gcc

GCC是以GPL许可证所发行的自由软件,也是GNU计划的关键部分。GCC的初衷是为GNU操作系统专门编写一款编译器,现已被大多数类Unix操作系统(如Linux、BSD、MacOS X等)采纳为标准的编译器,甚至在微软的Windows上也可以使用GCC。GCC支持多种计算机体系结构芯片,如x86、ARM、MIPS等,并已被移植到其他多种硬件平台

什么是shell脚本

概念:把命令或程序语句写在文件中,执行文件,读取其中的代码,这就叫shell脚本 (非交互式方式)

  • windows的批处理文件.bat
  • linux中的.sh文件

小知识:linux的文件后缀没有实质的意义,但可以让人区分清楚文件的用途(白色是普通文件,绿色是可执行文件)

写shell脚本的规范

#! /bin/bash   Shebang
echo $SHELL  查看当前的shell解释器
hello.sh去执行时是去找path路径
./hello.sh  是在当前文件去运行脚本(文件需要可执行权限)
/bin/bash hello.sh   文件没有执行权限也可以运行这个脚本

Shebang

Shebang作为解释器的指令

  • 以#! /bin/sh开头的文件,程序在执行时会调用/bin/bash,也就是bash解释器
  • 以#! /usr/bin/python开头的文件,代表指定python解释器去执行
  • 以#! /usr/bin/env 解释器名称,是一种在不同平台都能正确找到解释器的方法

不指定,默认以当前shell去解释脚本

! /usr/bin/python会作为参数传递给解释器

如果指定的解释器没有执行权限,会报权限错误

需要写绝对路径,不会去path下去寻找解释器

编写一个python代码

#! /usr/bin/python
# coding:utf-8
print("111222")
运行这个python文件  /usr/bin/python hello.py
posted @ 2023-06-15 23:06  姜旭凌  阅读(15)  评论(0)    收藏  举报