Shell 是一个用 C 写的程序,用于和内核做交互。是一种命令式的语言。解释执行。
Shell
和 Shell脚本
是两个概念。一般 shell 是指 Shell Script 即 Shell 脚本。
Shell 可以理解成命令的集合,即把命令集合在一个文件,就是脚本,称shell脚本。 Bash Shell 最常用 echo $BASH 查看当前的 Shell
控制台命令行就是一个 shell。 脚本就是一个命令行的集合,和在控制台输入的效果是一样的。但是脚本可以保存这些命令,提升率效。 linux 的文件不需要后缀,所以 .sh 可有可无。
创建一个测试文件 test.sh
然后执行 sh test.sh
#!/bin/bash
echo "Hello World !"
输出结果:
Hello World
你会现,这里我并没有 chmod o+x test.sh 也能执行,网上很多文章说需要先修改执行权,这个后面说明。
1.作为解释器参数
#!
必须加这个头!!!!,则文件会以shell脚本形式执行
#!/bin/bash
每个文件必须赋于执行权,才可以使用 ./
执行。
1.加执行权限
chmod o+x test.sh ./test.sh
2.如果不使用 chmod,会报错
./test.sh -bash: ./test.sh: 权限不够
使用bash
不需要 chmod 就可以执行,bash 是系统默认的shell执行器。
sh test.sh
同样可以执行
/bin/sh _test.sh /bin/bash test.sh
./是执行当前的文件,当前的文件创建了出来只是个普通文件,所以当然需要赋值。
sh是一个shell 表示将文件直接交给 bash 来执行 运行sh a.sh,表示我使用sh来解释这个脚本; 如果我直接运行./a.sh,首先你会查找脚本第一行是否指定了解释器,如果没指定,那么就用当前系统默认的shell(大多数linux默认是bash),如果指定了解释器,那么就将该脚本交给指定的解释器