1、shebang
shebang是出现在文本文件的第一行的前两个字符#!。
在linux系统中,程序会分析shebang后的内容,作为解释器的指令。
- 以#!/bin/sh开头的文件,程序在执行时会调用/bin/sh,也就是bash解释器。
- 以#!/usr/bin/python开头的文件,程序在执行过程中会调用python解释器执行。
- 以#!/usr/bin/env解释器名称,在不同平台都能正确找到解释器。
如果脚本未指定shebang,执行过程中会默认调用python解释器。
shebang之后的解释程序需要写绝对路径(如:#!/bin/bash),它是不会到$PATH中寻找解释器的。
查看文件内容,直接使用hello.sh执行文件报错;因为在命令行输入的内容都是在PATH中寻找,但是PATH中没有改内容,所以会报错,可以使用相对路径的方式找到当前文件并执行。
执行权限不够,加上权限。通过bin/sh解释器执行该代码;添加chmod添加权限,通过绝对路径执行该文件:chmod +x hello.sh
bash解释器无法运行python脚本文件。
2.执行shell脚本的方式
- bash script.sh或sh script.sh ,文件本身没有权限的情况下,或者文件没有shebang也推荐使用这种方式。
- 使用绝对/相对路径执行脚本,需要文件具有x权限。
- source script.sh或者. script.sh,代表执行的含义,source就是.。
- 重定向写入符的方式。sh<script.sh。
3.查看历史记录
通过使用history可以查看使用过的命令。
-c清除命令 -r恢复历史
调用历史记录命令:!历史id,快速执行历史命令。
!!执行上一次的命令
4.windows中批处理文件后缀为*.bat,lnuix中为*.sh。