Shell脚本编程01:基础知识

  Shell脚本与Windows/Dos下的批处理相似,就是将各类命令预先放入到一个文件中,然后执行该文件,便可以达到与批处理类似的功能,主要是方便管理员进行设置或者管理用的。

  换句话来说,shell脚本是利用shell的功能所写的一个程序,这个程序使用纯文本文件,将一些shell的语法与指令写在里面,然后用正规表示法,管线命令以及数据流重导向等功能,以达到我们所想要的处理目的。

  这里有必要说一下shell和shell脚本的区别。

  Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。

  Shell既是一种命令语言,又是一种程序设计语言(shell脚本)。作为命令语言,它互动式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。它虽然不是 Linux系统内核的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行。

1.语法基础

  1.1开头

  Shell脚本程序必须以如下的语句行开始(必须方在文件的第一行):

  #!/bin/sh

  “#!/bin/sh"是对shell的声明,说明你所用的是那种类型的shell及其路径所在。如果没有该语句声明,则脚本将在默认的shell中执行。

  1.2注释

  在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。

  备注:“#!/bin/sh"不是注释。

  1.3变量

  在shell编程中,所有的变量都由字符串组成,并且不需要对变量进行声明。对变量赋值,可以使用如下语句:

  var="hello world"

  备注:“=”前后不能有空格,句尾不能有“;”。

2.常用指令

  echo "some text": 将文字内容打印在屏幕上

  ls: 文件列表

  wc –l filename:计算文件行数

  wc -w filename:计算文件中的单词数

  wc -c filename: 计算文件中的字符数

  cp sourcefile destfile: 文件拷贝

  mv oldname newname : 重命名文件或移动文件

  rm filename: 删除文件

  grep 'string' filename: 在文件内搜索字符串

  cat filename: 输出文件内容到屏幕上

  file filename: 得到文件类型

  read var: 提示用户输入,并将输入赋值给变量

  find: 搜索文件

  tee: 将数据输出到标准输出设备(屏幕) 和文件比如:somecommand | tee outfile

  basename filename: 返回不包含路径的文件名

  dirname filename: 返回文件所在路径

  sed: 查找替换

 

原文地址:https://www.cnblogs.com/menlsh/p/2761757.html