
Linux shell
文章平均质量分 53
吓人的猿
专注Linux系统开发,网络编程,服务后台开发
展开
-
Linux shell脚本 (一)编写运行第一个脚本
第一个Shell脚本 打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好。输入一些代码:#!/bin/bashecho "Hello World !" “#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。echo命令用于向窗口输出文本。3.1 作为可执行程序将上面的代码保存为test.sh,并 cd ...原创 2018-02-26 11:53:11 · 3756 阅读 · 0 评论 -
Linux shell脚本 (十七)shell输入输出重定向
shell 输入输出重定向 Linux命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。20.1 输出重定向命令的输出不仅可以是显示器,还可以很容易的转移向到文件,这被称为输出重定向。命令输出重定向的语法为:$ command > file #这样,输出到显示器的内容就可以被重定向到...原创 2018-02-26 13:46:52 · 759 阅读 · 0 评论 -
Linux shell脚本 (十六)shell函数
shell函数 函数可以让我们将一个复杂功能划分成若干模块,让程序结构更加清晰,代码重复利用率更高。像其他编程语言一样,Shell 也支持函数。Shell 函数必须先定义后使用。Shell 函数的定义格式如下:function_name () { [commands] ... [ return value ]}如果你愿意,也可以在函数名前加上关键字 function:f...原创 2018-02-26 13:45:49 · 730 阅读 · 0 评论 -
Linux shell脚本 (十五)until循环
until循环 until 循环执行一系列命令直至条件为 true 时停止。until 循环与 while 循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候,也只是极少数情况下,until 循环更加有用。until 循环格式为:until [ expression ]do ...done expression如果返回值为 false,则继续执行循环体内的语...原创 2018-02-26 13:45:04 · 408 阅读 · 0 评论 -
Linux shell脚本 (十四)while语句
while语句 while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为:while expressiondo ...done命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。COUNT=0while [ $COUNT -lt 5 ]do COUNT=$(($COUNT + 1)) echo $COUNTdone运行脚...原创 2018-02-26 13:43:45 · 354 阅读 · 0 评论 -
Linux shell脚本 (十三)for语句
for语句与其他编程语言类似,Shell支持for循环。for循环一般格式为:for 变量 in 列表do command1 command2 ... commandNdone 列表是一组值(数字、字符串等)组成的序列,每个值通过空格分隔。每循环一次,就将列表中的下一个值赋给变量。 in 列表是可选的,如果不用它,for 循环使用命令行的位置参数。例如...原创 2018-02-26 13:42:43 · 445 阅读 · 0 评论 -
Linux shell脚本 (十二)case语句
case语句case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构。case 语句匹配一个值或一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:case 值 in模式1) command1 command2 command3;;模式2) command1 command2 com...原创 2018-02-26 13:42:02 · 24606 阅读 · 2 评论 -
Linux shell脚本 (十一)if语句
if语句 if 语句通过关系运算符判断表达式的真假来决定执行哪个分支。Shell 有三种 if ... else 语句:if ... fi 语句;if ... else ... fi 语句;if ... elif ... else ... fi 语句。1) if ... else 语句if ... else 语句的语法:if [ expression ]then ...fi如果 exp...原创 2018-02-26 13:41:32 · 551 阅读 · 0 评论 -
Linux shell脚本 (十)printf
printf printf 命令用于格式化输出, 是echo命令的增强版。它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同。注意:printf 由 POSIX 标准所定义,移植性要比 echo 好。如同 echo 命令,printf 命令也可以输出简单的字符串:$printf "Hello, Shell\n"Hello, Shell$printf 不像 echo 那样会...原创 2018-02-26 13:40:40 · 605 阅读 · 0 评论 -
Linux shell脚本 (九)shell字符串
shell字符串 字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。11.1 单引号str='this is a string'单引号字符串的限制:单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;单引号字串中不能出现单引号(对单引号使用转义符后也不行)。11.2 ...原创 2018-02-26 13:40:05 · 307 阅读 · 0 评论 -
Linux shell脚本 (八)shell注释
shell注释以“#”开头的行就是注释,会被解释器忽略。sh里没有多行注释,只能每一行加一个#号。只能像这样: #-------------------------------------------- # 这是一个自动打ipa的脚本,基于webfrogs的ipa-build书写: # https://github.com/webfrogs/xcode_shell/blob/...原创 2018-02-26 13:39:28 · 5310 阅读 · 2 评论 -
Linux shell脚本 (七)Shell运算符
Shell运算符 Bash 支持很多运算符,包括算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符。9.1 算术运算符也可以使用表达式$(( )) 或 $[]运算符说明举例+加法$(($a + $b))-减法$(($a - $b))*乘法$(($a * $b))/除法$(($a / $b))%取余$(($a % $b))=赋值a=$b 将把变量 b 的值赋给 a。 #!/bin/...原创 2018-02-26 13:35:46 · 679 阅读 · 1 评论 -
Linux shell脚本 (六)与用户交互
与用户交互8.1 echo echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。echo [-options] [string]-n #不要在最后自动换行-e #处理转义字符例如:where@ubuntu:~$ echo -n "helloworld"helloworldwhere@ubuntu:~$ 再举个例子:where@ubuntu:~$ echo -e "\f\x30...原创 2018-02-26 13:30:58 · 3924 阅读 · 0 评论 -
Linux shell脚本 (五)shell替换
7 shell替换7.1 shell变量替换 如果表达式中包含特殊字符,Shell 将会进行替换。例如,在双引号中使用变量就是一种替换,举个例子:#!/bin/basha=10echo "Value of a is $a"运行结果:Value of a is 107.2 命令替换 命令替换是指Shell可以先执行命令,将输出结果暂时保存,在适当的地方输出。命令替换的语法:`command...原创 2018-02-26 13:26:51 · 1290 阅读 · 0 评论 -
Linux shell脚本 (四)shell数组
shell数组bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。6.1定义数组在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为: array_name=(value1 ... valueN)例如:array_name=(val...原创 2018-02-26 13:25:38 · 1305 阅读 · 0 评论 -
Linux shell脚本 (三)Shell特殊变量
Shell特殊变量 前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。 例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:$echo $$运行结果29949变量含义$0当前脚本的文件名$n传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。$#传递给脚本或函数的参数个数。$...原创 2018-02-26 11:59:27 · 366 阅读 · 0 评论 -
Linux shell脚本 (二)shell变量
shell变量 Shell支持自定义变量。4.1 定义变量定义变量时,变量名不加美元符号($),如:variableName="value"注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:首个字符必须为字母(a-z,A-Z)。中间不能有空格,可以使用下划线(_)。不能使用标点符号。不能使用bash里的关键字(可用help命令查看保留关键字...原创 2018-02-26 11:58:05 · 422 阅读 · 0 评论 -
Linux shell脚本 (十八)shell文件引用包含
shell文件引用包含像其他语言一样,Shell 也可以包含外部脚本,将外部脚本的内容合并到当前脚本。Shell 中包含脚本可以使用:. filename或source filename两种方式的效果相同,简单起见,一般使用点号(.),但是注意点号(.)和文件名中间有一空格。例如,创建两个脚本,一个是被调用脚本 subscript.sh,内容如下:url="http://wenong.so.c"一...原创 2018-02-26 13:49:12 · 334 阅读 · 0 评论