Shell 学习1 - Shell 简介

Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Unix/Linux系统的关键。

可以说,shell使用的熟练程度反映了用户对Unix/Linux使用的熟练程度。

注意:单独地学习 Shell 是没有意义的,请先参考Unix/Linux入门教程,了解 Unix/Linux 基础。

Shell有两种执行命令的方式:

交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释执行一条。

批处理(Batch):用户事先写一个Shell脚本(Script),其中有很多条命令,让Shell一次把这些命令执行完,而不必一条一条地敲命令。

Shell脚本和编程语言很相似,也有变量和流程控制语句,但Shell脚本是解释执行的,不需要编译,Shell程序从脚本中一行一行读取并执行这些命令,相当于一个用户把脚本中的命令一行一行敲到Shell提示符下执行。

Shell初学者请注意,在平常应用中,建议不要用 root 帐号运行 Shell 。作为普通用户,不管您有意还是无意,都无法破坏系统;但如果是 root,那就不同了,只要敲几个字母,就可能导致灾难性后果。

时间: 2024-11-07 22:05:43

Shell 学习1 - Shell 简介的相关文章

Shell学习之Shell特性(一)

Shell学习之Shell特性 目录 命令和文件自动补齐功能 命令历史记忆功能 history.上下键.!number.!string.!$.!! 别名功能 alias.unalias cp.~username/.bashrc.\cp -rf /etc/hosts 快捷键 ^R ^D ^A ^E ^L ^U ^K ^S ^Q 前后台作业控制 输入输出重定向 输入与输出 管道 | tee 命令排序 命令和文件自动补齐功能 这个不说了,我们在输入命令的时候,按tab键补全. 命令历史记忆功能  hi

Shell学习笔记 - Shell变量

一.变量的命名 变量名必须以字母或下划线开头,由字母.数字.或下划线组成,变量名的长度不能超过255个字符. 二.变量的分类 1. 用户自定义变量 2. 环境变量 3. 位置参数变量 4. 预定义变量 三.用户自定义变量 用户自定义变量是“局部变量”,只能在当前的Shell中生效 1. 定义变量 变量名=变量值 示例: 注意:等号前后不能有空格,否则会出现以下错误提示: 2. 变量调用 $变量名 或 ${变量名} 示例: 3. 变量叠加 示例: 或: 4. 删除变量 unset 变量名 示例:

linux shell学习之shell流程控制

在linux shell编程中,流程控制结构与语句,也算是shell脚本中的重点了,不了解的朋友,跟随脚本小编一起来学习下吧. linux控制流结构学习. 一,shell控制流结构 1.控制结构   6.while循环 2.if then else语句 7.until循环 3.case 语句  8.break控制 5.for循环    9.continue控制 1,if then else  if 条件1 如果条件1为真  then 那么  命令1 执行命令1  elif 条件2 如果条件1不成

鸟书shell学习(三)shell脚本程序设计要点总结

一 注意事项 1.脚本的开头一行为 : #!/bin/bash 声明这个脚本需要的shell的名称 2.程序中出了"#!"之外的其他以#开头的都是注释内容 3.为了方面的使用系统命令,可以在程序的开始部分设置主要环境变量例如PATH 4.脚本程序的运行方法: sh example.sh 或者类似 bash example.sh chmod +x example.sh ; ./example.sh    ################################ 这两种执行方式都是

Shell 学习17 - Shell for 循环

与其他编程语言类似,Shell支持for循环. for循环一般格式为: for 变量 in 列表 do command1 command2 ... commandN done 列表是一组值(数字.字符串等)组成的序列,每个值通过空格分隔.每循环一次,就将列表中的下一个值赋给变量. in 列表是可选的,如果不用它,for 循环使用命令行的位置参数. 例如,顺序输出当前列表中的数字: for loop in 1 2 3 4 5 do echo "The value is: $loop" d

Shell 学习11 - Shell 字符串

字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号.单双引号的区别跟PHP类似. 单引号 str='this is a string' 单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的: 单引号字串中不能出现单引号(对单引号使用转义符后也不行). 双引号 your_name='qinjx' str="Hello, I know your are \"$your_n

Shell 学习12 - Shell 数组

Shell在编程方面比Windows批处理强大很多,无论是在循环.运算. bash支持一维数组(不支持多维数组),并且没有限定数组的大小.类似与C语言,数组元素的下标由0开始编号.获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0. 定义数组 在Shell中,用括号来表示数组,数组元素用"空格"符号分割开.定义数组的一般形式为: array_name=(value1 ... valuen) 例如: array_name=(value0 value1 value2

Shell 学习13 - Shell echo 命令

echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串.命令格式: echo arg 您可以使用echo实现更复杂的输出格式控制. 显示转义字符 echo "\"It is a test\"" 结果将是: "It is a test" 双引号也可以省略. 显示变量 name="OK" echo "$name It is a test" 结果将是: OK It is a test 同样双引号也可以

Shell 学习20 - Shell 跳出循环

在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,像大多数编程语言一样,Shell也使用 break 和 continue 来跳出循环. break命令 break命令允许跳出所有循环(终止执行后面的所有循环). 下面的例子中,脚本进入死循环直至用户输入数字大于5.要跳出这个循环,返回到shell提示符下,就要使用break命令. #!/bin/bash while : do echo -n "Input a number between 1 to 5: " read aNu