![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
shell脚本编程
蔷薇岛少年
从事嵌入式软件开发以及驱动开发。熟悉使用C语言,C++开发语言,熟悉音视频处理。
展开
-
(1)shell脚本介绍
Shell既是一种命令语言,又是一种程序设计语言。 (1)作为命令语言,它交互式地解释和执行用户输入的命令;不需要编译,Shell程序从脚本中一行一行读取并执行这些命令。 (2)作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。Shell执行命令的方式 ##:交互式(Interactive):解释执行用户的命令,用户输入一条命令,Shell就解释原创 2016-01-25 13:57:58 · 503 阅读 · 0 评论 -
(15)shell 输入输出重定向
Unix 命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。 一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。1、输出重定向:命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向。 1.1 命令输出重定向的语法为:$ command > file1.2 输出重定向会覆盖文件内容:#!/bin/shecho abc原创 2016-02-03 09:53:53 · 409 阅读 · 0 评论 -
(14)shell 函数以及函数参数
函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。 Shell 函数必须先定义后使用。1、Shell 函数的定义格式function_name () { list of commands [ return value ]}如果你愿意,也可以在函数名前加上关键字 function:function function_name () { l原创 2016-02-03 09:45:31 · 829 阅读 · 0 评论 -
(13)shell break跳出循环
在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,像大多数编程语言一样,Shell也使用 break 和 continue 来跳出循环。1、break命令终止执行后面的所有循环#!/bin/bashwhile :do echo -n "Input a number between 1 to 5: " read aNum case $aNum in原创 2016-02-03 09:38:45 · 602 阅读 · 0 评论 -
(12)shell for while until循环
1、for循环一般格式为:for 变量 in 列表do command1 command2 ... commandNdone说明:列表是一组值(数字、字符串等)组成的序列,每个值通过空格分隔。每循环一次,就将列表中的下一个值赋给变量。in 列表是可选的,如果不用它,for 循环使用命令行的位置参数。for loop in 1 2 3 4 5do原创 2016-02-03 09:34:36 · 488 阅读 · 0 评论 -
(11)shell case esac语句
case … esac 与其他语言中的 switch … case 语句类似,是一种多分枝选择结构。case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:case 值 in模式1) command1 command2 command3 ;;模式2) command1 command2 command3原创 2016-02-03 09:30:54 · 541 阅读 · 0 评论 -
(10)shell 判断表达式
Shell 有三种 if … else 语句:if ... fi 语句;if ... else ... fi 语句;if ... elif ... else ... fi 语句。三个分别相当于: if if….else if….else if….else1、if … fi 语句语法if [ expression ]then Statement(s) to be executed原创 2016-02-03 09:28:04 · 313 阅读 · 0 评论 -
(9)shell printf命令:格式化输出
printf 命令用于格式化输出, 是echo命令的增强版。printf 输出简单的字符串:$printf "Hello, Shell\n"Hello, Shellprintf 不像 echo 那样会自动换行,必须显式添加换行符(\n)。printf 命令的语法:printf format-string [arguments...]format-string 为格式控制字符串,argumen原创 2016-02-03 09:23:02 · 698 阅读 · 0 评论 -
(8)shell echo命令
1、基本格式echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串。 命令格式:echo arg2、显示转义字符echo "\"It is a test\""结果将是:"It is a test"双引号也可以省略。3、显示变量name="OK"echo "$name It is a test"结果将是:OK It is a test同样双引号也可以省略。如果变量与其它字原创 2016-02-03 09:20:24 · 912 阅读 · 0 评论 -
(7)shell数组
bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。 获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。1、定义数组在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。array_name=(value1 ... valuen)array_name=(value0 value1 value2 value3)原创 2016-02-03 09:15:12 · 488 阅读 · 0 评论 -
(6)shell字符串
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单引号:str='this is a string'双引号:your_name='qinjx'str="Hello, I know your are \"$your_name\"! \n"1、单引号和双引号区别:单引号里的任何字符都会原样输出,单引号字原创 2016-02-03 09:09:58 · 339 阅读 · 0 评论 -
(5)shell运算符
1、shell算术运算符列表: Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。 expr 是一款表达式计算工具,使用它能完成表达式的求值操作。 举例:#!/bin/sha=10b=20val=`expr $a + $b`ech原创 2016-02-03 09:03:33 · 513 阅读 · 0 评论 -
(4)shell替换
1、shell转义字符(都可以使用在echo中): 如果表达式中包含特殊字符,Shell 将会进行替换。-e 表示对转义字符进行替换不使用 -e 选项,将会原样输出-E 选项禁止转义默认也是不转义的-n 选项可以禁止插入换行符#!/bin/basha=10echo -e "Value of a is $a \n"输出结果:Value of a is 10如果不使用-e,则会输出:原创 2016-02-02 20:53:27 · 693 阅读 · 0 评论 -
(2)第一个shell脚本和shell变量
第一个shell脚本:打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),比如:hello.sh#!/bin/bashecho "Hello World !"“#!” 是一个约定标记,告诉系统脚本需要什么解释器来执行,即使用哪一种Shell。echo命令用于向窗口输出文本。运行shell脚本:运行Shell脚本有两种方法:作为可执行程序和作为解释器参数。chmod +x ./tes原创 2016-02-02 20:27:07 · 774 阅读 · 0 评论 -
(3)shell特殊变量
1、特殊变量2、命令行参数运行脚本时传递给脚本的参数称为命令行参数。命令行参数用 n表示,例如,n 表示,例如,1 表示第一个参数,$2 表示第二个参数,依次类推。#!/bin/bashecho "File Name: $0"echo "First Parameter : $1"echo "First Parameter : $2"echo "Quoted Values: $@"echo原创 2016-02-02 20:44:24 · 429 阅读 · 0 评论 -
(16)shell文件包含
像其他语言一样,Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本。 Shell 中包含脚本可以使用:. filename或者source filename两种方式的效果相同,简单起见,一般使用点号(.),但是注意点号(.)和文件名中间有一空格。例如,创建两个脚本,一个是被调用脚本 subscript.sh,内容如下:url="http://see.xidian.edu.cn/cp原创 2016-02-03 09:55:35 · 271 阅读 · 0 评论