shell基础1
什么是shell
centos ubuntu suse
具体实现了shell的软件 bash
shell 是一个壳(解释器,翻译官),通过c语言写的一个命令
- 解释执行用户输入的命令或程序等
- 用户输入一条命令,shell就解释一条
- 键盘输入命令,linux给与响应的方式,称为交互式
shell是一个包裹着操作系统核心的壳,处于操作系统的最外层,与用户直接对话,把用户的输入给操作系统,,然后处理操作系统的输出结果,输出到屏幕给与用户看到结果
一个命令:通过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
标签:bin,文件,解释器,shell,python,基础,bash
From: https://www.cnblogs.com/jiangxuling/p/17484466.html