linux 的shell 和 makefile 2017-2-22
来源:互联网 发布:淘宝唱片店正版 编辑:程序博客网 时间:2024/06/03 19:57
shell 是一种解释型的脚本语言,它是直接运行的命令,shell可以很方便的做一些自动化的操作。
写shell叫本的时候在首行加上#!/bin/bash,这句话告诉系统,这个文件需要使用bash解析器运行,也可以不加这一句但是必须指明所用的解析器比如:bin/sh filename
shell有很多的地方与c语言比较相似,他有变量 条件语句 循环语句等。
shell的变量
shell的变量必须以字母开头后面可以是数字或者下划线,引用变量的时候需要在变量之前添加$
shell的判断语句
以这样的形式出现:
if [ $a -eq 10 ]
then
条件成立时执行
else
条件不成立时执行
fi
注意if和[之间是有空格的,上面使用的是中括号,也可以使用圆括号,但是用中括号的时候以 -eq -ne -gt - ge -lt -le 分别表示等于 不等于 大于 大于等于 小于 小于等于,
使用圆括号的时候可以使用> < >= <= 来表达,它还可以用一些特殊的字符判断目录是够为空 环境变量是否存在等。。
shell的case语句
他和C语言的switch有相同的功能,形式如下:
case varName in
1) ;;
2);;
*) ;;
esac
varNAME作为取值,它可以是变量或者常数,小括号表示一种模式当匹配到一种模式之后便会执行模式后面的语句直到遇到;;,;;相当于break,直接跳到结尾。*)所有的模式不匹配才会执行相当于deafault.
shell中像这样的命令 CMD = `pwd` 相当于在控制终端输入pwd返回值赋给CMD.
shell中以$1 $1 这样的形式表示输入的参数,$$这样表示的是当前shell的进程号。
makefile的规则很简单它只用目标和指令构成,指令前面使用tab键隔开,它用来描述生成目标的方式,了解了基本功能之后发现还有很强大的用法,比如可以执行函数像这样
$(),小括号里面可以使用函数,wildcard 可以执行通配符,比如可以使用它提取目录下所有的c文件列表,然后把c替换为o,这样为编写makefile提供了很大的方便。
#sample Makefile
objects := $(patsubst %.c,%.o,$(wildcard *.c))
foo : $(objects)
cc -o foo $(objects)
makefile还有很多强大的功能有待学习,真的是学海无涯,尤其是在作为一个IT屌丝男士,在茫茫的工具和方法中迷失了,现在发现只有深入了一个行业才能挣到钱,浮躁的人是不适合做IT工作的,但是学习是永不停止的。
- linux 的shell 和 makefile 2017-2-22
- makefile 和 shell 的不同
- Makefile和shell脚本的不同
- Makefile和shell脚本的区别
- Makefile----shell函数和make的运行
- shell脚本和makefile的异同
- linux中shell环境和Makefile环境下$变量的含义
- shell和makefile对比
- shell和Makefile
- makefile和shell脚本
- Shell和Makefile
- Linux的Makefile和Make
- Linux shell的&&和||
- Linux之Makefile(shell)
- Makefile和shell的区别:echo和@echo
- Makefile和shell的区别:echo和@echo
- Makefile和shell的区别:echo和@echo
- Makefile和shell的区别:echo和@echo
- Android 自定义控件实现弹性旋转的圆形菜单
- Servlet 重定向原理
- 数据结构——字符串处理
- Servlet中文乱码问题
- 处理大并发之四 使用libevent利器bufferevent
- linux 的shell 和 makefile 2017-2-22
- SpringMVC @RequestBody接收Json对象字符串
- Android 代码混淆异常 transformClassesAndResourcesWithProguardForRelease FAILED
- Java Cache系列之Guava Cache
- leetcode 144. Binary Tree Preorder Traversal
- ACM 背包问题 Piggy-Bank
- Vue- 组件与props属性的用法
- 使用Google Guava来编写优雅的代码一Guava简介
- PHP基础语法