1.什么是shell?

      shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序。你在提示符下输入的每个命令都由shell先解释然后传给Linux内核。 说到底,Shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为bash Shell

      Shell是解释执行的脚本语言,所谓脚本语言就是不用编译就可以直接执行的语言。在Shell中可以调用Linux系统命令。

    shell的最强大的重要特性是它自身就是一个解释型的程序设计语言,shell 程序设计语言支持在高级语言里所能见到的绝大多数程序控制结构,比如循环,函数,变量和数组。shell 编程语言很易学,并且一旦掌握后它将成为你的得力工具。任何在提示符下能键入的命令都能放到一个可执行的shell程序里,这意味着用shell语言能简单地重复执行某一任务。

2.linux中有哪些shell?

   一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell不同的shell可能支持的命令语法是不相同的,但是最常用的shell还是/bin/bash。下面的演示也基于/bin/bash

[robot@hadoop103 ~]$ cat /etc/shells 
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
sh(全称 Bourne Shell): 是UNIX最初使用的 shell,而且在每种 UNIX 上都可以使用。
Bourne Shell 在 shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种 shell。
bash shell(全称 Bourne Again Shell): LinuxOS 默认的,它是 Bourne Shell 的扩展。
与 Bourne Shell 完全兼容,并且在 Bourne Shell 的基础上增加了很多特性。可以提供命令补全,命令编辑和命令历史等功能。
它还包含了很多 C Shell 和 Korn Shell 中的优点,有灵活和强大的编辑接口,同时又很友好的用户界面。

3.演示一个demo

一个简单的shell实例(用shell脚本语言启动tomcat)
#!/bin/sh
cd  /usr/local/apache-tomcat-5.5.23/bin/
./catalina.sh  start
文件取名为tomcat
说明	
这个脚本只有三行,它的第一行指明这个脚本程序由那个程序来解释。
第二行只有一个简单的动作进入某个目录,第三行调用catalina.sh脚本启动tomcat。
执行脚本
执行脚本前先赋予tomcat脚本可执行权限,命令如下:chmod  +x  tomcat ,
否则会出现如下错误:-bash: ./tomcat: Permission denied       #当然如果直接用sh  tomcat执行,不需要u+x赋予执行权限
假设tomcat脚本所在目录为为/home/amy/
在/home/amy/目录下执行脚本:  ./tomcat 
在别的目录下执行脚本:  /home/amy/tomcat

4.Shell编程模型

m

5.Shell基本的执行方式
首先要赋予+x权限,赋予脚本执行权限
第一种:输入脚本的绝对路径或相对路径
  /root/helloWorld.sh
  ./helloWorld.sh
或者,不用赋予+x权限,而用解释器解释执行u+x
第二种:bash或sh +脚本
  sh /root/helloWorld.sh
  sh helloWorld.sh
第三种:在脚本的路径前再加". "
  . /root/helloWorld.sh
  . ./helloWorld.sh #注意这里两个点。当然加一个点也可以执行,属于第一种
区别:第一种和第二种会新开一个bash,不同bash中的变量无法共享
 先见森林,再见树木,知其然,再知其所以然
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐