![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Shell学习
iteye_7552
这个作者很懒,什么都没留下…
展开
-
Shell简介:什么是Shell,Shell命令的两种执行方式
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。 它虽然不是Unix/Linux系统内核的一部分,但它调用了系统核心的大...原创 2015-09-05 12:51:40 · 86 阅读 · 0 评论 -
Shell echo命令
echo是Shell的一个内部指令,用于在屏幕上打印出指定的字符串。命令格式: echo arg 您可以使用echo实现更复杂的输出格式控制。 显示转义字符 [code="Shell"]echo "\"It is a test\""[/code]结果将是: "It is a test" 双引号也可以省略。 显示变量 [code="Shell"]name="OK"原创 2015-09-13 16:00:56 · 116 阅读 · 0 评论 -
Shell数组:shell数组的定义、数组长度
Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。 bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。 定义数组 在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为: [code="Shel...原创 2015-09-12 10:17:47 · 130 阅读 · 0 评论 -
Shell注释
以“#”开头的行就是注释,会被解释器忽略。 sh里没有多行注释,只能每一行加一个#号。只能像这样: #-------------------------------------------- # 这是一个自动打ipa的脚本,基于webfrogs的ipa-build书写: # https://github.com/webfrogs/xcode_shell/blob/master/ipa-...原创 2015-09-11 22:00:22 · 60 阅读 · 0 评论 -
Shell字符串
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。 [b][size=medium]单引号[/size][/b] [code="Shell"]str='this is a string'[/code]单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串中的变量...原创 2015-09-11 22:00:11 · 76 阅读 · 0 评论 -
Shell for循环
与其他编程语言类似,Shell支持for循环。 for循环一般格式为: for 变量 in 列表 do command1 command2 ... commandN done 列表是一组值(数字、字符串等)组成的序列,每个值通过空格分隔。每循环一次,就将列表中的下一个值赋给变量。 in 列表是可选的,如果不用它,for 循环使用命令行的位...原创 2015-09-08 22:58:24 · 88 阅读 · 0 评论 -
Shell运算符:Shell算数运算符、关系运算符、布尔运算符、字符串运算符等
Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用。 expr 是一款表达式计算工具,使用它能完成表达式的求值操作。 例如,两个数相加: #!/bin/bash val=`expr 2 + 2` echo "Total v...原创 2015-09-06 20:19:02 · 57 阅读 · 0 评论 -
Shell替换:Shell变量替换,命令替换,转义字符
如果表达式中包含特殊字符,Shell 将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换。 举个例子: [code="Shell"]#!/bin/bash a=10 echo -e "Value of a is $a \n"[/code]运行结果: [code="Shell"]Value of a is 10[/code]这里 -e 表示对转义字符进行替换。如果...原创 2015-09-06 20:18:45 · 145 阅读 · 0 评论 -
Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。 例如,$ 表示当前Shell进程的ID,即pid,看下面的代码: $echo $$ 运行结果 29949 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$...原创 2015-09-06 20:18:33 · 87 阅读 · 0 评论 -
Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
Shell支持自定义变量。 [b][size=medium]定义变量[/size][/b] 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则: 首个字符必须为字母(a-z,A-Z)。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号...原创 2015-09-05 13:09:32 · 97 阅读 · 0 评论 -
第一个Shell脚本
打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了。 输入一些代码: [code="shell"]#!/bin/bash echo "Hello World !"[/code] “#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。echo命...原创 2015-09-05 13:02:52 · 68 阅读 · 0 评论 -
Shell脚本语言与编译型语言的差异
大体上,可以将程序设计语言可以分为两类:编译型语言和解释型语言。 编译型语言 很多传统的程序设计语言,例如Fortran、Ada、Pascal、C、C++和Java,都是编译型语言。这类语言需要预先将我们写好的源代码(source code)转换成目标代码(object code),这个过程被称作“编译”。 运行程序时,直接读取目标代码(object code)。由于编译后的目标代码...原创 2015-09-05 12:58:00 · 119 阅读 · 0 评论 -
几种常见的Shell
上面提到过,Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本。 Unix/Linux上常见的Shell脚本解释器有bash、sh、csh、ksh等,习惯上把它们称作一种Shell。我们常说有多少种Shell,其实说的是Shell脚本解释器。 [b]bash[/b] bash是Linux标准默认的shell,本教程也基于bash讲解。bash由Brian Fox和Chet ...原创 2015-09-05 12:53:16 · 94 阅读 · 0 评论 -
shell printf命令:格式化输出语句
printf 命令用于格式化输出, 是echo命令的增强版。它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同。 注意:printf 由 POSIX 标准所定义,移植性要比 echo 好。 如同 echo 命令,printf 命令也可以输出简单的字符串: [code="Shell"]$printf "Hello, Shell\n" Hello, Shell $...原创 2015-09-13 16:01:29 · 74 阅读 · 0 评论