随笔分类 - shell入门教程
摘要:$( ) 与 ` ` (反引号)在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的。 所谓的命令替换与我们第五章学过的变量替换差不多,都是用来重组命令行:* 完成引号里的命令行,然后将其结果替换出来,再重组命令行。例如:
阅读全文
摘要:#输入输出重定向:Unix默认从stdin获取输入,stdout输出,输入设备是键盘,输出设备是终端#输出重定向:明朗的输出不仅可以是显示器,还可以转移到文件,这被叫做输出重定向#输出重定向会覆盖文件内容#输出重定向语法: command > file #输入重定向语法: command < fil
阅读全文
摘要:#函数:必须先定义后使用#格式:#function_name () {# list of commands# [ return value ] #可以显示增加return语句,如果不加,会将最后一条命令运行结果作为返回# #返回值只能是整数,一般用来函数执行成功与否,0为成功,如果return其他#
阅读全文
摘要:#break和continue命令:循环过程中,有时需要在未达到循环结束条件时强制跳出循环#break:允许跳出所有循环(终止执行后面的所有循环) #循环嵌套,break可以跟一个参数,表示跳出第几层循环#例:如果var1=2并且var2=0,跳出循环 #continue命令:不会跳出所有循环,仅仅
阅读全文
摘要:#until循环:执行一系列command直到条件为true时停止,一般while循环优先与until循环,极少数until更加有用#格式如下:#until expression#do# Statment to be executed until expression is true#done#例:
阅读全文
摘要:#while循环:用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件#格式如下:#while expression#do# Statement to be executed if expression is true#done#命令执行完毕,控制返回循环顶部,从头开始执行至测试条
阅读全文
摘要:#for循环#格式#for 变量 in 列表#do# command1# command2# ...#done#列表是一组值(数字,字符串等)组成的序列,每个值通过空格分隔。每循环一次,就将列表的下一个值赋给变量#in 列表是可选的,如果不用它,for循环使用命令行的位置参数,如:顺序输出当前列表的
阅读全文
摘要:#case ..esac语句:与switch ..case类似,是一种多分支选择结构#case语句匹配一个值或一个模式,如果匹配成功执行相应命令,如果匹配不成功执行*命令#;;与break类似,代表跳到整个case语句的最后#case 值 in#模式1)# command1# ;;#模式2)# co
阅读全文
摘要:#if else语句,共分三种:if...fi ; if ...else ...fi ; if ...elif...else...fi#if else fi 语句语法#if [ expression ]#then# Statement to be executed if expression is
阅读全文
摘要:#printf命令,格式化输出语句#用于格式化输出,是echo增强版,是C语言printf库函数的一个有限的变形,语法略有不同#是由POSIX标准所定义,移植性比echo好#printf不会像echo自动换行,所以要加\n才可以换行,如下: #语法:printf format-string#格式控制
阅读全文
摘要:#echo命令:shell的内部指令,用于在屏幕上打印指定的字符串 #下列第二个执行效率高,第一个则是充分利用了双引号,但不是效率最高的写法 #显示不换行.以下在同一行输出 ok! this is a test #执行时间命令 #显示结果写入myFile文件,如果文件不存在则会创建此文件
阅读全文
摘要:#数组:bash只支持一维数组,下标0开始。#定义数组: array_name=(value0 value1 value2),如下 #还可以单独定义数组的各个分量,可以不使用连续下标,而且下标范围没有限制,如下 #读取数组: 指定获取${array_name[index]},全部获取${array_
阅读全文
摘要:#字符串:与数字一样是最常用的类型,其他也没什么好用了。#字符串可以使用单引号,双引号,不用引号。#单引号字符串限制:# 1.任何字符原样输出,单引号中的变量无效# 2.单引号字符串中不能出现单引号,使用转义字符也不行# str='this is a string'#双引号优点:# 1.可以有变量#
阅读全文
摘要:shell运算符:算数,关系,布尔,字符串,文件测试原生bash不支持简单的数学运算,可通过awk expr实现,expr最常用expr是一款表达式计算工具,使用它能完成表达式的求值操作 示例如下: 注意1.表达式和运算符之间要有空格2.完整表达式要被``包含 算数运算符 示例如下: + - * /
阅读全文
摘要:替换:如果表达式中含有特殊字符,shell会进行替换。例如在双引号中使用变量就是一种替换。转义字符也是一种替换 #-e表示对转义字符替换,不加的话输出如下# 转义字符替换 下列转义字符可用于echo 1. \\ 反斜杠 2. \a 警报,响铃 ?3. \b 退格 (删除键)?4. \f 换页,将当前
阅读全文
摘要:特殊变量:某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。 特殊变量列表: 1. ${0} 当前脚本的文件名 2. ${n} 传递给脚本或函数的参数 n是一个数字,${1}表示第一个参数 3. ${#} 传递给脚本或函数的参数个数 4. ${*} 传递给脚本或函数的所有参数 与${*}的
阅读全文
摘要:变量类型 1.局部变量:在脚本或命令中定义,仅在当前shell实例中有效 2.环境变量:所有程序,包括shell启动的程序都能访问环境变量,有些程序需要环境变量依赖保证 其正常运 行,必要的时候shell脚本也可以定义环境变量 3.shell变量:由shell程序设置的特殊变量,shell变量由一部
阅读全文
摘要:1.以sh文件放在桌面为例,执行以下命令打开Gvim 2.输入以下代码 3.文件名输入hello ,选择保存位置为桌面 4.赋予此文件执行权限 5.运行脚本
阅读全文

浙公网安备 33010602011771号