小说网 找小说 无限小说 烟雨红尘 幻想小说 酷文学 深夜书屋

2014年9月30日

Linux Shell编程(30)——别名

摘要: Bash别名本质上是一个简称, 缩写, 这可避免键入过长的命令序列. 例如,如果我们添加 alias lm="ls -l | more" 这一行到文件~/.bashrc file里, 然后每次在命令行键入lm 将会自动被替换成ls -l | more. 这使用户在命令行不必键冗长的命令序列也避免了... 阅读全文

posted @ 2014-09-30 08:22 牛栏山1 阅读(116) 评论(0) 推荐(0) 编辑

Linux Shell编程(29)——函数

摘要: 和"真正的"编程语言一样, Bash也有函数,虽然在某些实现方面稍有些限制. 一个函数是一个子程序,用于实现一串操作的代码块,它是完成特定任务的"黑盒子". 当有重复代码, 当一个任务只需要很少的修改就被重复几次执行时, 这时你应考虑使用函数.function function_name { co... 阅读全文

posted @ 2014-09-30 08:20 牛栏山1 阅读(72) 评论(0) 推荐(0) 编辑

Linux Shell编程(28)——进程替换

摘要: 进程替换与命令替换很相似. 命令替换把一个命令的结果赋给一个变量,例如 dir_contents=`ls -al`或xref=$. 进程替换则是把一个进程的输出回馈给另一个进程 (换句话说,它把一个命令的结果发送给另一个命令).命令替换的一般形式由圆括号括起的命令>(command)文件把在圆括号... 阅读全文

posted @ 2014-09-30 08:18 牛栏山1 阅读(104) 评论(0) 推荐(0) 编辑

Linux Shell编程(27)——子shell

摘要: 运行一个shell脚本时会启动另一个命令解释器. 就好像你的命令是在命令行提示下被解释的一样, 类似于批处理文件里的一系列命令.每个shell脚本有效地运行在父shell(parent shell)的一个子进程里.这个父shell是指在一个控制终端或在一个xterm窗口中给你命令指示符的进程.sh... 阅读全文

posted @ 2014-09-30 08:17 牛栏山1 阅读(129) 评论(0) 推荐(0) 编辑

Linux Shell编程(26)——代码块重定向

摘要: 像 while, until, 和 for 循环代码块, 甚至 if/then 测试结构的代码块都能做到标准输入的重定向. 即使函数也可以使用这种重定向的格式 。所有的这些依靠代码块结尾的 < 操作符来做到.例子:while 循环的重定向#!/bin/bash# redir2.shif [ -z ... 阅读全文

posted @ 2014-09-30 08:13 牛栏山1 阅读(103) 评论(0) 推荐(0) 编辑

Linux Shell编程(25)——I/O 重定向

摘要: 默认情况下始终有3个"文件"处于打开状态, stdin (键盘), stdout (屏幕), and stderr (错误消息输出到屏幕上). 这3个文件和其他打开的文件都可以被重定向. 对于重定向简单的解释就是捕捉一个文件, 命令, 程序, 脚本, 或者甚至是脚本中的代码块(参见 Example... 阅读全文

posted @ 2014-09-30 08:13 牛栏山1 阅读(102) 评论(0) 推荐(0) 编辑

Linux Shell编程(24)——命令替换

摘要: 命令替换 将会重新分配一个命令[1]甚至是多个命令的输出; 它会将命令的输出如实地添加到另一个上下文中. [2]使用命令替换的典型形式是使用后置引用(`...`). 后置引用形式的命令(就是被反引号括起来)将会产生命令行文本. 1 script_name=`basename $0` 2 e... 阅读全文

posted @ 2014-09-30 08:10 牛栏山1 阅读(142) 评论(0) 推荐(0) 编辑

Linux Shell编程(23)——文本处理命令

摘要: 处理文本和文本文件的命令sort文件排序, 通常用在管道中当过滤器来使用. 这个命令可以依据指定的关键字或指定的字符位置, 对文件行进行排序. 使用 -m 选项, 它将会合并预排序的输入文件. 想了解这个命令的全部参数请参考这个命令的 info 页. 见 Example 10-9, Example... 阅读全文

posted @ 2014-09-30 08:08 牛栏山1 阅读(101) 评论(0) 推荐(0) 编辑

Linux Shell编程(22)——时间/日期 命令

摘要: date直接调用, date 就会打印日期和时间到 stdout 上. 这个命令有趣的地方在于它的格式化和分析选项上.time输出统计出来的命令执行的时间.touch这是一个用来更新文件被存取或修改的时间的工具,这个时间可以是当前系统的时间,也可以是指定的时间, 这个命令也用来产生一个新文件.Ex... 阅读全文

posted @ 2014-09-30 08:04 牛栏山1 阅读(182) 评论(0) 推荐(0) 编辑

Linux Shell编程(21)——复杂命令

摘要: 更高级的用户命令find-exec COMMAND \;在每一个find 匹配到的文件执行 COMMAND 命令. 命令序列以 ; 结束( ";" 是 转义符 以保证 shell 传递到find命令中的字符不会被解释为其他的特殊字符).xargs这是给命令传递参数的一个过滤器, 也是组合多个命令的... 阅读全文

posted @ 2014-09-30 08:02 牛栏山1 阅读(126) 评论(0) 推荐(0) 编辑

Linux Shell编程(20)——基本命令

摘要: 新手必须要掌握的初级命令ls基本的列出所有文件的命令.但是往往就是因为这个命令太简单,所以我们总是低估它.比如,用 -R 选项,这是递归选项,ls 将会以目录树的形式列出所有文件, 另一个很有用的选项是 -S ,将会按照文件尺寸列出所有文件, -t, 将会按照修改时间来列出文件,-i 选项会显示文... 阅读全文

posted @ 2014-09-30 08:01 牛栏山1 阅读(142) 评论(0) 推荐(0) 编辑

Linux Shell编程(19)——测试与分支

摘要: case和select结构在技术上说不是循环,因为它们并不对可执行的代码块进行迭代.但是和循环相似的是,它们也依靠在代码块的顶部或底部的条件判断来决定程序的分支.在代码块中控制程序分支case (in) / esac在shell中的case同C/C++中的switch结构是相同的.它允许通过判断来... 阅读全文

posted @ 2014-09-30 07:57 牛栏山1 阅读(88) 评论(0) 推荐(0) 编辑

Linux Shell编程(18)—— 循环控制

摘要: 影响循环行为的命令break, continuebreak和continue这两个循环控制命令[1]与其它语言的类似命令的行为是相同的. break命令将会跳出循环,continue命令将会跳过本次循环下边的语句,直接进入下次循环..例子:break和continue命令在循环中的效果#!/bin... 阅读全文

posted @ 2014-09-30 07:55 牛栏山1 阅读(97) 评论(0) 推荐(0) 编辑

Linux Shell编程(17)——嵌套循环

摘要: 嵌套循环就是在一个循环中还有一个循环,内部循环在外部循环体中.在外部循环的每次执行过程中都会触发内部循环,直到内部循环执行结束.外部循环执行了多少次,内部循环就完成多少次.当然,不论是外部循环或内部循环的break语句都会打断处理过程.例子:嵌套循环#!/bin/bash# nested-loop... 阅读全文

posted @ 2014-09-30 07:55 牛栏山1 阅读(105) 评论(0) 推荐(0) 编辑

Linux Shell编程(16)——循环

摘要: 循环就是重复一些命令的代码块,如果条件不满足就退出循环.for loopsfor arg in [list]这是一个基本的循环结构.它与C的for结构有很大不同.for arg in [list]do command(s)... done 在循环的每次执行中,arg将顺序的存取list中列出... 阅读全文

posted @ 2014-09-30 07:52 牛栏山1 阅读(120) 评论(0) 推荐(0) 编辑

Linux Shell编程(15)——操作字符串

摘要: Bash已经支持了令人惊讶的字符串操作的数量。不幸地,这些工具缺乏统一的标准。一些是参数替换的子集,其它受到UNIX的expr命令的功能的影响。这导致不一致的命令语法和冗余的功能,但这些并没有引起混乱。字符串长度${#string}expr length $stringexpr "$string"... 阅读全文

posted @ 2014-09-30 07:51 牛栏山1 阅读(128) 评论(0) 推荐(0) 编辑

Linux Shell编程(14)——内部变量

摘要: 内建变量影响Bash脚本行为的变量。$BASHBash二进制程序文件的路径 bash$ echo $BASH /bin/bash$BASH_ENV该环境变量保存一个Bash启动文件路径,当启动一个脚本程序时会去读该环境变量指定的文件。$BASH_SUBSHELL一个指示子shell(subshel... 阅读全文

posted @ 2014-09-30 07:49 牛栏山1 阅读(180) 评论(0) 推荐(0) 编辑

Linux Shell编程(12)——操作符

摘要: 赋值变量赋值初始化或改变一个变量的值=通用的变量赋值操作符,可以用于数值和字符串的赋值 1 var=27 2 category=minerals # "="字符后面不能加空白字符. 不要把"="赋值操作符和=测试操作符搞混了。 # = 用于测试操作符 if [ "$string1"... 阅读全文

posted @ 2014-09-30 07:35 牛栏山1 阅读(136) 评论(0) 推荐(0) 编辑

Linux Shell编程(13)——数字常量

摘要: 除非一个数字有特别的前缀或符号,否则shell脚本把它当成十进制的数。一个前缀为0的数字是八进制数。一个前缀为0x的数字是十六进制数。一个数用内嵌的#来求值则看成BASE#NUMBER(有范围和符号限制)例子:数字常量的表示法#!/bin/bash# numbers.sh: 不同基数的数字表示法.... 阅读全文

posted @ 2014-09-30 07:34 牛栏山1 阅读(203) 评论(0) 推荐(0) 编辑

Linux Shell编程(11)——退出和退出状态

摘要: exit命令一般用于结束一个脚本,就像C语言的exit一样。它也能返回一个值给父进程。每一个命令都能返回一个退出状态(有时也看做返回状态).一个命令执行成功返回0,一个执行不成功的命令则返回一个非零值,此值通常可以被解释成一个对应的错误值。除了一些例外的情况,一个行为端庄的UNIX命令,程序或是软... 阅读全文

posted @ 2014-09-30 07:30 牛栏山1 阅读(555) 评论(0) 推荐(0) 编辑

导航