由于昨天在测试环境上遇到一个问题,启动zk服务时,需要使用sh zkServer.sh start,但是在自己电脑上面,使用zkServer.sh start 就能启动。
主要介绍linux系统shell脚本
Shell
Shell:在计算机科学中,Shell是为使用者提供操作界面的软件,即命令解释器。类似于DOS下的command.com与cmd.exe。用于接收用户命令,然后执行命令调用程序。
DOS:Disk Operating System,即磁盘操作系统,DOS主要是一种面向磁盘的系统软件。DOS是人与机器之间的桥梁,使用接近自然语言的DOS命令去更轻松的去完成操作。此外,DOS还可以管理各种软硬件资源。
Shell分类
通常意义上指的是命令行式shell,shell负责管理用户与操作系统之间的交互,等待用户输入,并向操作系统解释,并且处理操作系统的输出结果。
- 图形化界面shell(Graphical User Interface shell即GUI shell)
如:Windows Explorer,Linux shell - 命令行式shell
Unix/Linux系统:bash/sh/ksh/csh
Windows:cmd.exe
登录shell与非登录shell
- 登录shell
首先读取和执行/etc/profile全局配置文件中的命令,然后依次查找/.bash_profile、/.bash_login 和 ~/.profile这三个配置文件,读取和执行这三个中的第一个存在且可读的文件中命令。 - 非登录shell
当然就不需要输入用户名和密码即可打开的Shell,例如:直接命令“bash”就是打开一个新的非登录shell,在Gnome或KDE中打开一个“终端”(terminal)窗口程序也是一个非登录shell。
交互式与非交互式shell
- 交互式:等待输入,并执行命令。
- 非交互式:直接执行命令至结束。
Linux Shell
Linux中的shell有多种其中最常见的几种Bourne shell(sh)、C shell(csh) 和 Korn shell(ksh)。
- Bourne shell在shell编程方面突出,但交互方面,不如其他。
- C shell使用户更容易的使用交互功能。
- Korn shell结合Bourne shell的语法与C shell的交互特性,是一个交互式的命令解释器和命令编程语言。
Bourne Again Shell
Linux操作系统缺省的shell是Bourne Again Shell,为Bourne shell的扩展,简称Bash,与Bourne shell向下兼容,并在Bourne shell的基础上,增加与增强了很多特性。Bash在/bin/bash上,提供命令补全,命令编辑,命令历时表等功能,包含了C shell 与 Korn shell 中的优点,有灵活和强大的编程接口,同时提供友好的用户界面。
Shell Script
用户与操作系统之间进行通讯的方式,可以为键盘输入,也可以是shell script。Shell script是shell指令集合的一个文件。
环境变量说明
如果有配置环境变量,可以直接执行shell脚本命令。
即“/bin”“/usr/bin”、”/usr/sbin”、“/usr/local/bin”等路径已经在系统环境变量中,如果可执行文件在这几个标准位置,在终端命令行输入该软件可执行文件的文件名和参数(如果需要参数),直接执行。
举个栗子
Zookeeper环境变量配置
配置了环境变量,可以直接使用zkServer.sh start启动Zk服务,不需要在加sh,bash等指令