执行顺序和eval
shell从标准输入或脚本中读取的每一行称为管道,它包含了一个或多个命令,这些命令被一个或多个管道字符(|)隔开.
事实上嗨哟很多特殊符号可用来分割单个的命令:分号(;),管道(|),&,逻辑AND(&&),逻辑OR(||).对于每一个地区的管道,shell都会将命令分割,为管道设置I/O,并且对每一个命令依次执行下面的操作.
看...
分类:
系统相关 时间:
2015-07-05 16:41:34
阅读次数:
159
命令替换
命令替换是指shell可以先执行命令,将输出结果暂时保存,在适当的地方输出.
命令替换的语法:
`command`
注意这是反引号,而不是单引号,这个键位于ESC键的下方.
案例;
#!/bin/bash
DATE=`date`
echo "Date is $DATE"
USERS=`who | wc -l`
echo "Logged in user are $...
分类:
系统相关 时间:
2015-07-04 14:01:28
阅读次数:
159
引用
案例,如果我想输出一个星号(*),使用echo如何做?
echo *
这是肯定不行的,需要将*转移,即:echo \*
这样就引出了引用的概念.所为引用,是用来防止shell将某些你想要的东西解释成不同的意义.如果你希望某些可能被shell视为个别参数的东西保持为单个参数,这时你就必须将其引用.
引用的三种方式:
反斜杠转义
字符前置反斜杠(\),用来告知shell该字符即为其...
分类:
系统相关 时间:
2015-07-04 14:00:38
阅读次数:
152
波浪号展开与通配符
shell中两种与文件名相关的展开.第一种是波浪号展开,第二种是通配符展开式.
波浪号展开
如果命令行字符串的第一个字符为波浪号(~),或者变量指定(例如PATH或CDPATH变量)的值里任何未被引号括起来的冒号之后的第一个字符为波浪号(~)时,shell变回执行波浪号展开.
波浪号展开的目的,将用户根目录的符号型表示方式,改为实际的目录路径.可以采用直接或间接的方式指...
分类:
系统相关 时间:
2015-07-04 12:46:12
阅读次数:
288
printf
先来看一个简单的例子:使用命令printf “hello,world\n”,
输出:hello,world
再使用echo “hello,world\n”,输出为:hello,world\n
案例二:使用命令printf "%s\n" hello,world
输出结果为:hello,world
printf命令的完整语法有两个部分:
printg format-stri...
分类:
系统相关 时间:
2015-07-03 19:19:35
阅读次数:
178
http://note.youdao.com/share/?id=a9d02257b639c94323c818bc38423919&type=note别名命令alias:http://note.youdao.com/share/?id=cbcbd1156ab1f0835c4f76131dbf98e2...
分类:
系统相关 时间:
2015-07-03 13:59:50
阅读次数:
278
http://note.youdao.com/share/?id=096963bf2a0862fd338919d781636be2&type=note快捷键:?
分类:
系统相关 时间:
2015-07-03 13:53:45
阅读次数:
125
原文:http://note.youdao.com/share/?id=cd2ad6e6d5db2b347f92958efc2bdbc1&type=note正则表达式与通配符:一、介绍:1.正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed等命令可以支持正则表达式2...
分类:
系统相关 时间:
2015-07-03 13:51:05
阅读次数:
248
关于重定向
额外的重定向运算符
使用set -C搭配
POSIX shell提供了防止文件意外截断的选项:执行set -C命令可打开shell所谓的禁止覆盖选项,当它再打开状态时,单纯的>重定向遇到目标文件已存在时,就会失败.>|运算符则可以另noclobber选项失效.
提供行内输入的和使用program得力miter,可以在shell脚本正文内提供输入数据;这样数据叫嵌入文件.在...
分类:
系统相关 时间:
2015-06-30 14:59:43
阅读次数:
158