1 dirname $0
Linux下获得目录路径比较常用的是pwd命令和getcwd()函数,pwd命令只能得到当前目录,也就是跑程序时所在的目录,但不能得到程序所在的目录;
dirname恰好就能实现这个功能,使用dirname $0就可以解析出所要的绝对路径。
2 read
read命令接收标准输入(键盘)的输入,或其他文件描述符的输入,得到输入后,read命令将数据放入一个标准变量中。
由于read命令提供了-p参数,允许在read命令行中直接指定一个提示;
read后面的变量可以一个,也可以有多个,这时如果输入多个数据,则第一个数据给第一个变量,第二个数据给第二个变量;
3 $? 前一个命令的返回值
4 ehco命令
echo 文件内容 > 文件名 创建文件
echo 文件内容 >> 文件名 增加内容
echo. 相当于增加一个回车换行符
5 Grep及Cut命令
cut: 是将一行讯息当中,取出某部分我们想要的;
grep 则是分析一行讯息,若当中有我们所需要的信息,就将该行拿出来。
platform=`grep PLATFORM= $cwd/../Rules.make | cut -d= -f2`
6 sed命令
Sed(a stream editor)是流线型、非交互式编辑器。他允许您执行和vi编辑器里相同的编辑任务。Sed 程式不是和编辑器交互式工作的,而是让您在命令行里敲入编辑的命令,给文档命名,然后在屏幕上查看命令输出结果。
sed 怎样工作?sed 编辑器按一次处理一行的方式来处理文档,并把输出送到屏幕上。
sed 能够用寻址的方式来决定想要编辑哪一行。
sed 命令和选项
选项 功能
a\ 在当前行上添加一个文本行或多个文本行
c\ 用新文本改变(取代)当前行里的文本
d 删除行
i\ 在当前行之前插入文本
h 把模式空间内容复制到一个固定缓存
H 把模式空间内容添加到一个固定缓存
g 得到固定缓存里任何的并复制到模式缓存,重写其内容
G 得到固定缓存的内容并复制到模式缓存,添加到里面
I 列出不打印的字符
p 打印行
n 读下一输入行,并开始用下一个命令处理换行符,而不是用第一个命令
q 结束或退出sed
r 从一个文档读如行
! 把命令应用到除了选出的行以外的其他任何行
s 把一个字串替换成另一个替换标志
g 在一行上进行全局替换
p 打印行
w 把行写到一个文档中
x 用模式空间的内容交换固定缓存的内容
y 把一个字符转换成另一个(不能和整则表达式元字符一起使用)
example:
sed -i "s=EXEC_DIR\=.*$=EXEC_DIR\=$dst/home/root/$platform=g" $cwd/../Rules.make
7 tee命令