shell

什么是shell

shell也是一种脚本语言,是服务器端使用的。和其他语言一样,都是连通终端和操作系统的桥梁。将终端输入的命令通过shell解析器进行解析,然后传输给系统进行操作,将系统的操作再传输到终端。同样也有交互式和非交互式。非交互式的称为shell编程。

 

shell的由来

在linux中内核叫kernel,外面的用户不能直接操作内核,一来比较危险,二来很多用户都不会。于是在kernel外加了一层壳,通过shell命令来控制内核,就叫shell(贝壳)。

 

shell类型(解析器类型)

sh,ash,csh,ksh,bash等。我用的是bash

查看当前系统使用的shell:echo $SHELL(和echo $PATH类似,查看时这些多用全大写。)

查看系统可以解析的shell:cat  /etc/shells

 

shell脚本

将shell命令都写到同一个shell文件中保存起来,就形成了shell脚本。

指定shell解析器,可以执行shell脚本。

创建文件1.zz,bash 1.zz 即可执行。这种文件不需要可执行权限也可以执行。

 

shell中也可以自解析脚本文件(Python同理):

指定shell解析器:在脚本文件的开头加上#!/bin/bash  

给该文件添加执行权限: chmod +x 文件名

执行:./+文件名。如果不在当前目录下,只要能找到该文件也可以执行。

示例:

maple@iZ2ze6btfwlkldmd9uwz2vZ:~$ vim 1.zz   #在~下创建文件1.zz文件

#!/bin/bash  #指定解析器

echo ‘God bless you’                        #输入内容

maple@iZ2ze6btfwlkldmd9uwz2vZ:~$ chmod +x 1.zz  #添加可执行权限

maple@iZ2ze6btfwlkldmd9uwz2vZ:~$ ./1.zz      #在~下执行文件

God bless you

maple@iZ2ze6btfwlkldmd9uwz2vZ:/$ ~/1.zz    #在/目录下执行文件

God bless you

因为1.zz文件不在/目录中,所以不能直接执行,需要先找到再执行。

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...