自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(309)
  • 收藏
  • 关注

原创 【Bash百宝箱】shell内建命令之set、shopt

1、set在shell中,内建(builtin)命令set,格式如下:set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]set [+abefhkmnptuvxBCEHPT] [+o option-name] [arg ...]set命令用以改变bash默认行为,不指定任何选项和参数时,显示所有shell变量的名称及值,包括shell函数,但

2016-09-27 21:13:53 2050

原创 【Bash百宝箱】shell内建命令之bind、enable、ulimit

1、bind在shell中,内建(builtin)命令bind,格式如下:bind [-m keymap] [-lpsvPSVX]bind [-m keymap] [-q function] [-u function] [-r keyseq]bind [-m keymap] -f filenamebind [-m keymap] -x keyseq:shell-commandbind [-m

2016-09-23 18:06:55 2346

原创 【Bash百宝箱】shell内建命令之read、readarray、mapfile

1、read在shell中,内建(builtin)命令read,格式如下:read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]read命令用于从标准输入或选项”-u“指定的文件描述符中读取一行文本,把第一个单词赋值给第一个名称nam

2016-09-23 18:05:14 9718

原创 【Bash百宝箱】shell内建命令之help、type、let、logout

1、help在shell中,内建(builtin)命令help,格式如下:help [-dms] [pattern]help命令用于显示shell内建命令的帮助信息,如果指定了模式pattern,则只显示与模式匹配的命令的帮助信息,否则显示全部内建命令的帮助信息。选项“-d”用于显示命令的一个简短描述,“-m”以man page的格式来打印命令描述,否则以默认格式打印,“-s”用于显示命令的语法格式

2016-09-23 18:03:34 1674

原创 【Bash百宝箱】shell内建命令之echo、printf

1、echo在shell中,内建(builtin)命令echo,格式如下:echo [-neE] [arg ...]echo命令用于输出各参数arg,参数间以空格分隔,结尾是个换行符。选项“-n”禁止输出结尾的换行符。对于一些反斜线“\”转义的特殊字符,在echo命令中默认不进行转义,选项“-e”启用转义,“-E”禁止转义。下面是反斜线“\”转义的特殊字符。 \a

2016-09-23 18:01:45 4031

原创 【Bash百宝箱】shell内建命令之declare、typeset、local

1、declare(typeset)在shell中,内建(builtin)命令declare与typeset用法相同,格式如下:declare [-aAfFgilnrtux] [-p] [name[=value] ...]typeset [-aAfFgilnrtux] [-p] [name[=value] ...]declare命令用于声明变量,可以给变量设置属性。如果没有指定name,则显示相应

2016-09-22 18:20:16 7835

原创 【Bash百宝箱】shell内建命令之builtin、command、caller

1、builtin在shell中,内建(builtin)命令builtin,格式如下:builtin shell-builtin [arguments]builtin命令用以执行shell的内建命令,既然是内建命令,为什么还要以这种方式执行呢?因为shell命令执行时首先从函数开始,如果自定义了一个与内建命令同名的函数,那么就执行这个函数而非真正的内建命令。下面以shell内建命令umask为例说明

2016-09-22 18:18:50 5779

原创 【Bash百宝箱】shell内建命令之alias与unalias

1、alias在shell中,内建(builtin)命令alias,格式如下:alias [-p] [name[=value] ...]alias命令用于给一个shell命令建立一个别名,主要用于简化命令,比如说有一个经常要用到的复杂命令,如果每次在使用时都输入这个命令,就显得繁琐了,这时可使用alias给这个命令创建一个简单的别名,然后直接使用这个别名就方便多了。alias命令不指定任何参数或使用

2016-09-21 20:04:36 2070

原创 【Bash百宝箱】shell内建命令之trap

在shell中,内建(builtin)命令trap,格式如下:trap [-lp] [[arg] sigspec ...]trap命令用于跟踪Linux信号,当shell收到信号sigspec时,就会读取命令arg并执行它。首先,看一下Linux有哪些信号。$ trap -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6

2016-09-21 20:03:03 2531

原创 【Bash百宝箱】shell内建命令之test

在shell中,内建(builtin)命令test,格式如下:test expr[ expr ]test命令用于测试条件表达式expr的结果,为true时返回0,为false时返回1,每个运算符和操作数都是一个独立的参数。对条件表达式测试时使用一对方括号也是可以的,效果等同于test命令。test命令支持以下4种运算符(运算符优先级从高到低):! expr 如果expr为false,返回tr

2016-09-21 20:00:18 1396

原创 【Bash百宝箱】shell内建命令之times、umask、unset

1、times在shell中,内建(builtin)命令times,格式如下:timestimes命令用于显示shell及其子进程所使用的累积用户时间和系统时间,退出状态为0。times命令用例如下(启动一个新的shell终端开始执行):$ times0m0.024s 0m0.004s0m0.000s 0m0.000s$ times0m0.024s 0m0.004s0m0.000s 0m0

2016-09-20 21:05:08 1855 1

原创 【Bash百宝箱】shell内建命令之pwd、readonly、return、shift

1、pwd在shell中,内建(builtin)命令pwd,格式如下:pwd [-LP]pwd命令用于打印当前工作目录的绝对路径,选项“-L”表示路径可能包含符号链接,选项“-P”表示路径为物理路径,不包含符号链接,不指定任何选项时,默认效果同选项“-L”。成功执行时,pwd命令的退出状态为0。2、readonly在shell中,内建(builtin)命令readonly,格式如下:readonly

2016-09-20 21:03:25 2163 1

原创 【Bash百宝箱】shell内建命令之hash

在shell中,内建(builtin)命令hash,格式如下:hash [-lr] [-p filename] [-dt] [name]hash命令的作用是在环境变量PATH中搜索命令name的完整路径并记住它,这样以后再次执行相同的命令时,就不必搜索其完整路径了,而且shell每次执行环境变量PATH中的一个命令时,hash都会记住它。当hash不指定任何参数时,显示当前hash列表,包括每个命令

2016-09-20 21:01:40 7853 1

原创 【Bash百宝箱】shell内建命令之cd、getopts

1、cd在shell中,内建(builtin)命令cd,格式如下:cd [-L | -P] [dir]cd命令用于改变当前工作目录,新的工作目录为dir,如果没有指定dir,则使用shell系统变量“HOME”的值,参数“-L”表示不跟踪符号链接,如果dir是一个符号链接的目录,结果便是dir本身,“-P”表示物理链接即跟踪符号链接,如果dir是一个符号链接的目录,结果则是dir指向的实际物理目录,

2016-09-19 20:38:31 1242 1

原创 【Bash百宝箱】shell内建命令之eval、exec、exit、export

1、eval在shell中,内建(builtin)命令eval,格式如下:eval [arg ...]eval命令首先读取其参数值,然后把它们连接成一个命令并执行这个命令,这个命令的退出状态即eval的退出状态,如果没有指定参数,其退出状态为0。在简单命令的场景中,eval并没有什么特殊之处,如下例子:$ foo="uname"$ unameLinux$ $fooLinux但是,遇到复杂命令

2016-09-19 20:34:35 8904 1

原创 【Bash百宝箱】shell内建命令之break与continue

1、break在shell中,内建(builtin)命令break,格式如下:break [n]break命令用于退出for、while、until、select循环,循环可嵌套多层,可指定退出循环的层数n,这个值大于等于1,不指定时,默认为1,即退出当前循环。当n小于1时,命令出错,“loop count out of range”,退出状态为1,否则退出指定的循环嵌套层数,命令退出状态为0,若n

2016-09-19 20:32:43 1492 1

原创 【Bash百宝箱】shell内建命令之句点与source

在shell中,内建(builtin)命令句点“.”和source用法相同,格式如下:. filename [arguments]source filename [arguments]句点命令和source的作用相同,都是从脚本filename中读取命令并执行它们,若指定了参数arguments,参数便成为对应的位置参数。命令执行的退出状态为执行的最后一个命令的退出状态,没有执行任何命令时,退出状

2016-09-19 20:30:28 1611 1

原创 【Bash百宝箱】shell内建命令之冒号

在shell中,冒号“:”是一个内建(builtin)命令,格式如下:: [arguments]冒号命令本身没什么副作用,使用场景有限,一般用于参数扩展,有以下几种用法:${parameter:-word} 如果parameter没有设置或者为空,替换为word;否则替换为parameter的值。${parameter:+word} 如果parameter没有设置或者为空,不进行任何替

2016-09-19 20:29:14 6292 2

原创 【Bash百宝箱】shell重定向

在shell中,可以对输入、输出进行重定向,顺序从左到右。Linux有三个特殊的文件描述符,分别是标准输入、标准输出和标准错误输出,对应于“/dev/stdin”、“/dev/stdout”、和“/dev/stderr”,也即“/dev/fd/0”、“/dev/fd/1”和“/dev/fd/2”。在shell重定向中,常对这三个文件描述进行操作。1、输入重定向输入重定向的基本格式为:[n]<word

2016-09-16 16:21:53 930 1

原创 【Bash百宝箱】shell变量及扩展

1、shell变量shell变量赋值语句为”name=[value]“,等号两边不能有空格,可以给shell变量追加内容”name+=value“,取消shell变量的设置使用”unset name”,例子如下。$ var=1$ echo $var1$ var=123$ echo $var123$ var+=100$ echo $var123100$ var=a$ echo $v

2016-09-15 06:15:58 2694 1

原创 【Bash百宝箱】shell函数

1、基本格式shell函数的格式如下:name () compound-command [redirection]function name [()] compound-command [redirection]shell函数实际上就是一个简单的shell命令,在当前shell执行,它代表了一组复合命令compound-command即函数体,函数体一般放在一对花括号中。关键字function可有

2016-09-14 09:34:18 1299 1

原创 【Bash百宝箱】协作进程coproc

shell中的协作进程coprocess是指一个shell命令的前面添加了coproc关键字的情形,这个命令是在子shell中异步执行的,就好像在命令的末尾使用了后台命令控制符“&”一样,不同的是,协作进程与其父进程间有双向的管道,提供了一种便利的通信途径。 协作进程命令格式如下:coproc [NAME] command [redirections]上述命令用于创建一个名为NAME的协作进程,如

2016-09-14 09:29:25 2879 2

原创 【Bash百宝箱】shell命令

1、简单命令简单命令即命令本身,只有一个命令,有些命令有一个或多个参数,它们以空格分隔。2、多个命令执行多个命令最简单的方法是使用分号“;”把它们分隔开来,效果是所有的命令会依次执行,即使前面的命令执行失败了,后面的命令也会继续执行,不同于下面介绍的队列命令。退出状态为执行的最后一个命令的退出状态。3、队列命令队列命令使用符号”&&“、”||“,在c/c++中,它们也叫短路运算符,前者称为逻辑与,当

2016-09-10 07:47:28 1161 1

原创 【Bash百宝箱】Bash简介

1、shell在Unix/Linux操作系统中,shell俗称壳,区别于kernel内核。shell有双重功能,一方面,shell是一个命令解释器,用于处理shell内置的命令或者用户自定义的命令,可以在shell终端与用户交互,等待用户输入一个命令或者一串命令,然后以用户指定的方式执行命令;另一方面,shell是一种程序设计语言,更确切地说是一种脚本语言,一种解释型语言,类似于Python,有内置

2016-09-10 07:36:46 1223 2

原创 【设计模式】行为模式之Visitor访问者

Visitor访问者是一种对象行为型设计模式,用于表示一个作用于某对象结构中的各元素的操作,使得可以在不改变各元素的类的前提下定义作用于这些元素的新操作。使用Visitor模式, 必须定义两个类层次,一个对应于接受操作的元素,另一个对应于定义对元素的操作的访问者,给访问者类层次增加一个新的子类即可创建一个新的操作。Visitor访问者模式的结构如下图所示:上图中,Visitor访问者为该对象结构中C

2016-09-04 10:07:10 644

原创 【设计模式】行为模式之Template Method模板方法

Template Method模板方法是一种类行为型设计模式,目的是定义一个操作中的算法的骨架,而将一些步骤延迟到之子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。一个模板方法用一些抽象的操作定义一个算法,而子类将重定义这些操作以提供具体的行为。Template Method模板方法的结构如下图所示:上图中,AbstractClass抽象类定义抽象的原语操作,具体的子类将重定

2016-09-04 09:23:06 614

原创 【设计模式】行为模式之Strategy策略

Strategy策略是一种对象行为型设计模式,目的是定义一系列的算法,把它们一个一个封装起来,并且使它们可相互替换,算法可独立于使用它的客户而变化。一个常见的应用是文本编辑器,其中有许多算法对一个正文流进行分析,将这些算法硬编进使用它们的类中是不可取的,因为需要换行功能的客户程序如果直接包含换行算法代码的话将会变得复杂,这使得客户程序庞大并且难以维护,尤其当其需要支持多种换行算法时问题会更加严重,而

2016-09-03 08:49:49 671

原创 【设计模式】行为模式之State状态

State状态是一种对象行为型设计模式,目的是允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。如果一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变它的行为,就可以使用State模式;或者一个操作中含有庞大的多分支的条件语句,且这些分支依赖于该对象的状态,也可以使用State模式。通常,这个状态用一个或多个枚举常量表示,有多个操作包含这一相同的条件结构,State

2016-09-03 07:29:27 654

原创 【设计模式】行为模式之Observer观察者

Observer观察者是一种对象行为型设计模式,目的是定义对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。在进行系统设计时,通常会将一个系统分割成一系列相互协作的类,模块化,降低耦合性,但这有一个常见的副作用,需要维护相关对象间的一致性,我们不希望为了维持一致性而使各类紧密耦合,因为这样降低了它们的可重用性。Observer模式可以解决这一问题,这一模式

2016-09-02 07:15:12 758

原创 【设计模式】行为模式之备忘录Memento

备忘录Memento是一种对象行为型设计模式,目的是在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样以后就可将该对象恢复到原先保存的状态。有时有必要记录一个对象的内部状态。为了允许用户取消不确定的操作或从错误中恢复过来,需要实现检查点和取消操作,而要实现这些机制,必须事先将状态信息保存在某处,这样才能将对象恢复到它们先前的状态。但是对象通常封装了其部分或者所有的状态信

2016-09-01 07:23:15 684

原创 【设计模式】行为模式之中介者Mediator

中介者Mediator是一种对象行为型设计模式,目的是用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。在传统的面向对象设计过程中,通常将行为分布到各个对象中以增强可复用性,但随之也增加了对象间的相互连接,如果相互连接过多,使得一个对象似乎不太可能在没有其他对象的支持下工作,整个系统表现为一个不可分割的整体,导致对系统的行为

2016-08-28 21:04:37 832

原创 【设计模式】行为模式之迭代器Iterator

迭代器Iterator是一种对象行为型设计模式,目的是提供一种方法顺序访问一个聚合对象中的各个元素,而又不需暴露该对象的内部表示,例如C++中的容器及其迭代器,便是这种设计模式的一种体现。 使用迭代器模式,可用来访问一个聚合对象的内容而无需暴露它的内部表示,支持对聚合对象的多种遍历,为遍历不同的聚合结构提供一个统一的接口。如下是迭代器模式的结构图:上图中,Iterator迭代器定义访问和遍历元素的接

2016-08-27 16:32:04 846

原创 【设计模式】行为模式之解释器Interpreter

解释器Interpreter是一种类行为型设计模式,目的是给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。当有一个语言需要解释执行,并且可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式,最常见的问题便是搜索匹配问题,以及随之而产生的正则表达式引擎。解释器模式的结构如下图:上图中,AbstractExpression即抽象表达式,声明一个抽象的

2016-08-27 09:12:14 953

原创 【设计模式】行为模式之Command命令

Command命令是一种对象行为型设计模式,目的是将一个请求封装为一个对象,从而使得可用不同的请求对客户进行参数化,而且对请求排队或记录请求日志,以及支持可撤销的操作。在面向过程语言中的回调机制,如C语言,先在某处注册回调函数,而后在某个需要的时候进行调用,Command模式便是这种回调机制的一个面向对象的替代品,抽象出待执行的动作以参数化某对象。Command模式还可以在不同的时刻指定、排列和执行

2016-08-21 21:59:45 860

原创 【设计模式】行为模式之Chain of Responsibility职责链

Chain of Responsibility职责链是一种对象行为型设计模式,目的是使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。有多个的对象可以处理一个请求,哪个对象处理该请求运行时刻自动确定;或者你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求;或者可处理一个请求的对象集合应被动态指定

2016-08-21 13:55:24 888

原创 【设计模式】结构型模式之Proxy代理

Proxy代理是一种对象结构型设计模式,意在为其它对象提供一种代理以控制对这个对象的访问,对一个对象进行访问控制的一个原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化。Proxy模式的结构如下图所示:上图中,Proxy保存一个引用使得代理可以访问实体,若RealSubject和Subject的接口相同,Proxy会引用Subject;Proxy提供一个与Subject的接口相同的接口,这

2016-08-21 10:50:03 793

原创 【设计模式】结构型模式之Flyweight

Flyweight是一种对象结构型设计模式,意在运用共享技术有效地支持大量细粒度的对象,对那些通常因为数量太大而难以用对象来表示的概念或实体进行建模。flyweight作为共享对象,可以同时在多个场景中使用,并且在每个场景中都可以作为一个独立的对象,这一点与非共享对象的实例没有区别。flyweight不能对它所运行的场景作出任何假设,这里的关键概念是内部状态和外部状态之间的区别。内部状态存储于fly

2016-08-20 10:45:02 899

原创 【设计模式】结构型模式之Facade外观

Facade外观是一种对象结构型设计模式,目的是为子系统中的一组接口提供一个一致的界面。Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。有时候我们将一个系统划分成若干个子系统以降低系统的复杂性,而子系统间的通信和相互依赖关系也要达到最小,尽量降低子系统间的耦合性,一个好用的方法就是引入一个Facade对象,为子系统中较一般的设施提供一个单一而简单的界面。Facade模式的结构

2016-08-13 13:13:23 600

原创 【设计模式】结构型模式之装饰器Decorator

装饰器Decorator是一种对象结构型设计模式,意在动态地给一个对象添加一些额外的职责,就增加功能来说,采用继承机制生成子类也可以,但Decorator模式更为灵活。例如,当我们想给一个组件添加额外的功能时,就把这个组件嵌入另一个对象中,由这个对象来完成任务,充当装饰者,它与被装饰的组件接口一致,因此对于使用该组件的客户是透明的。装饰器Decorator模式的结构如下类图所示:图中,Compone

2016-08-09 21:11:06 730

原创 【Bash百宝箱】repo init error - manifest xxx.xml not available

下载开源项目tizen-ivi源代码时,遇到了如下错误:$ mkdir /home/tizen-ivi$ cd /home/tizen-ivi$ repo init -u ssh://[email protected]:29418/scm/manifest -b tizen -m ivi.xml...fatal: manifest 'ivi.xml' not availablefat

2016-08-08 11:07:09 6400

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除