- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
linux shell与make
Linux 下的 shell 与 make
一、shell
1.1 什么是 shell
● 用户与 Linux 的接口
● 命令解释器
● 支持多用户
● 支持复杂的编程语言
● Shell 有很多种,如:csh,tcsh,pdksh,ash,sash,zsh,bash 等。Linux 的缺省 Shell 为
bash(Bourne Again Shell)。
Shell 是用户和操作系统之间最主要接口。通过 Shell,可以同时在后台运行多个应用
程序,并且在把需要与用户交互的程序放在前台运行。
通过在多条命令的序列中使用变量和流程控制,Shell 可以作为一名复杂的编程语言。
1.2 转义字符和通配字符
● 转义字符(metacharacters)指的是在 Shell 中有特殊含义的字符。
例如: | ; ! ? * [ ] $ \ ` ~ ( ) { } ^
#ls file[1-10].c
#count=`ls –l | grep ‘^d’| wc –l`
● 通配字符(wildcards)是转义字符的子集,用来查找匹配文件名
例如:? * [] [-] [!]
● 使用Tab键,可以自动补齐。
通配一个字符:?
通配多个字符:*
1.3 输入输出重定向
● 系统定义三个标准文件:标准输入(stdin)、标准输出(stdout)、标准错误输入(stderr)
● 管道符:|,将前一个命令的输出转成下一个命令的输入。
● 过滤器 (filters):用来接收标准输入,经过一定的转化,再写到标准输出。所以,过滤
器一般放在管道符中间。
每个程序起动时,就有三个文件描述:STDIN (0),STDOUT(1),STDERR(2)。用改变输
入,用改变输出,用2改变错误输出,用来追加到已有的文件中。
常用的过滤器如下:expand,sed,awk,fmt,tac,tr,grep,nl,pr。
tee 命令接收标准输入并将数据输出到标准输出和一个文件内。
多条命令可以输入到一行中,并用;字符分隔。在一行命令后加\表示另起一行继续
输入,下一行的提示符变为
printf( “\t”);
1.4 Shell 变量
● Shell变量 (Variables)是程序用来保存数据用的。
● Shell 特殊变量:系统定义了一些特殊的变量。如$HOME 等。使用 set 命令查看当时系统
中定义的变量。
系统定义的特殊变量有:$TERM (当前终端类型),$PATH (命令的有哪些信誉好的足球投注网站路径),$MANPATH
(手册页存放的目录),$HOME (用户主目录),$LANG (当前使用语言),$PS1,$PS2 (命令提
示符),$SHELL (当前Shell 名)。
在命令行上打入:变量名=变量值,可以定义变量。使用 echo $变量名 查看变量值。
使用 unset 取消对变量的定义。
#hello=”123”
单引号表示忽略其中所有的转义字符,双引号表示忽略其中除了 $ ` \ 以外的其他的
转义字符。反斜线 (\)表示忽略下一个转义字符。
多条命令可以输入到一行中,并用;字符分隔。在一行命令后加\表示另起一行继续
输入,下一行的提示符变为
● Shell 系统变量
$?:最近执行的命令返回的值;
$$:本进程的进程号
$!:最近后台进程号
$#:shell 自变量个数,$1 表示第一个自变量
● Shell 用户变量
#varname=value :赋值
#readonly varname :标记只读
#export varname :标记移出:变量可以被子进程继承
#setenv PATH=/home:/usr:/etc:/bin:/usr/bin: (csh 中)
#varname=` expr $varname + 1 ` :变量值增 1 #x=$[ $x + 1 ]
#echo $PATH
1.5 定制用户环境
● 用户在登录 Shell 时,会依次执行一系列的脚本。
● 使用 alias 命令,可以定义一些别名。
Alias ‘rm –f’ rm
登录 BASH 时,用户将依次执行一系列的脚本:/etc/profile , $HOME/.bash_profile
( 如果没有,执行 $HOME/
文档评论(0)