1.shell简介:
解释:界面编写各种命令时,需要一个解释器,解释器先执行后给linux。执行完之后,结果返回给界面。经常使用的是bash。
注:若界面执行的命令比较复杂,可以写一个脚本,xxxx.sh。(可以是变量,控制程序等)。
通常使用的shell脚本就是对x.shell进行编程的。
可参考下图:
2.shell实操:
操作实例:创建一个shell脚本,输出hello world! 操作如下:
方法一(输入脚本的相对路径或绝对路径,此时必须给可执行权限):
注:mkdir是创建目录。
shell脚本的后缀一般是.sh
注:此时是没有执行权限的!如果你想打开她,就会造成如下操作:
vim hello.sh:使用vim编译器编译hello文件,且shell脚本的后缀一般为sh
echo"hello,world~"表示输出hello,world~
ll:查看文件权限。注意:此时的hello.sh文件,并没有给root(当前用户)可执行权限,即没有r权限。
./hello.sh:相对路径查看文件,是对是否含有可执行程序的一种判断方式。
chmod u+x hello.sh:u+x是给管理员用户增加x权限,此时变为绿色。
./hello.sh:此时可以查看hello.sh内的内容,可以被执行,说明有可执行权限。
方法二(sh+脚本,不需要可执行权限),操作如下:
chmod u-x hello.sh:拿掉可执行权限(u-x)
sh+脚本,操作如下:
3.shell的变量介绍:
系统变量:
查看某一个系统变量的位置:
显示当前shell中所有的系统变量:set
静态变量:
注:shell变量的定义中,变量=值,中间不能打空格!
案例1:定义变量A 案例2:撤销变量A 案例3:声明静态变量B=2 操作如下:
此处脚本取名是var
解释:看见echo就会输出后面的内容,且在没遇见$前,会将其变为普通文本。在遇到$后,会将后面的值变为一个数值。
解释:此处没有输出任何东西,是因为unset 已经将A的值销毁了。echo此时已经无法输出A所赋的值了。
注:静态变量不能被unset关键字修饰,否则会报错,如下:
4.shell变量的定义:
解释:
A=date表示把date这个单词赋予A, A='date'表示把指令date操作后的结果赋予A
A=$(date)等价于A='date'
将指令返回的结果赋予变量。最终结果如下: