输入复制码,即可复制
关注 公众号 发送 复制码 即可获取
只需要3秒时间
查看: 237|回复: 3

LINUX选修课讲义.txt

[复制链接]

5

主题

5

帖子

10

积分

新手

Rank: 2

积分
10
发表于 2013-11-11 19:15 | 显示全部楼层 |阅读模式
         

  标 题: LINUX选修课讲义:Bourne Shell及shell编程(1)

  发信站: 碧海青天 (Wed Apr 21 23:41:45 1999), 转信

  版权声明:

  本文内容为大连理工大学LINUX选修课讲义,欢迎大家转载,但禁止使用本材料进行

  任何商业性或赢利性活动。转载时请保留本版权声明。

  作者:何斌武,hbwork@dlutedu,大连理工大学网络中心,April 1999

  URL: ftp://ftpdlutedu/pub/PEOPLE/albin/

  源码:

  ------------------------------------------------------------------------------

  Bourne Shell

  介绍:Bourne Shell 基础及其他很多有用的特性,shell编程及组织。

  主要内容:

  shell基础      基本介绍,环境,选项,特殊字符

  shell变量      用户定义变量,环境变量,位置变量(shell 参数)

  shell script编程

  条件测试,循环及重复控制

  shell定制

  1shell基础知识

  作者:Stephen Bourne 在Bell实验室开发

  建议:man sh  查看相关UNIX上的改进或特性

  (1)shell提示符及其环境

  /etc/passwd文件

  提示符:$

  /etc/profile $HOME/profile

  (2)shell执行选项

  -n   测试shell script语法结构,只读取shell script但不执行

  -x   进入跟踪方式,显示所执行的每一条命令,用于调度

  -a   Tag all variables for export

  -c "string"  从strings中读取命令

  -e   非交互方式

  -f   关闭shell文件名产生功能

  -h   locate and remember functions as defind

  -i   交互方式

  -k   从环境变量中读取命令的参数

  -r   限制方式

  -s   从标准输入读取命令

  -t   执行命令后退出(shell exits)

  -u   在替换中如使用未定义变量为错误

  -v   verbose,显示shell输入行

  这些选项可以联合使用,但有些显然相互冲突,如-e和-i

  (3)受限制shell(Restircted Shell)

  sh -r 或 /bin/rsh

  不能执行如下操作:cd, 更改PATH,指定全路径名,输出重定向,因此可以提供一个较

  好的控制和安全机制。通常rsh用于应用型用户及拨号用户,这些用户通常是看不到提

  示符的。通常受限制用户的主目录是不可写的。

  不足:如果用户可以调用sh,则rsh的限制将不在起作用,事实上如果用户在vi及more

  程序中调用shell,而这时rsh的限制将不再起作用。

  (4)用set改变 shell选项

  用户可以在$提示符下用set命令来设置或取消shell的选项。使用-设置选项,+取消相应

  选项,大多数UNIX系统允许a,e,f,h,k,n,u,v和x的开关设置/取消。

  set -xv

  启动跟踪方式;显示所有的命令及替换,同样显示输入。

  set -tu

  关闭在替换时对未定义变量的检查。

  使用echo $-显示所有已设置的shell选项。

  (5)用户启动文件 profile

  PATH=$PATH:/usr/loacl/bin; export PATH

  (6)shell环境变量

  CDPATH  用于cd命令的查找路径

  HOME    /etc/passwd文件中列出的用户主目录

  IFS     Internal Field Separator,默认为空格,tab及换行符

  MAIL    /var/mail/$USERNAME     mail等程序使用

  PATH

  PS1,PS2        默认提示符($)及换行提示符(> )

  TERM    终端类型,常用的有vt100,ansi,vt200,xterm等

  示例:$PS1="test:";export PS1

  test: PS1="\$";export PS1

  $echo $MAIL

  /var/mail/username

  (7)保留字符及其含义

  $    shell变量名的开始,如$var

  |    管道,将标准输出转到下一个命令的标准输入

  #    注释开始

  在后台执行一个进程

  ?   匹配一个字符

  *    匹配0到多个字符(与DOS不同,可在文件名中间使用,并且含)

  $-   使用set及执行时传递给shell的标志位

  $!   最后一个子进程的进程号

  $#   传递给shell script的参数个数

  $*   传递给shell script的参数

  $@   所有参数,个别的用双引号括起来

  $   上一个命令的返回代码

  $0   当前shell的名字

  $n    (n:1-) 位置参数

  $$   进程标识号(Process Identifier Number, PID)

  >file        输出重定向

  >fiile      输出重定向,append

  转义符及单引号:

  $echo "$HOME $PATH"

  /home/hbwork /opt/kde/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:

  $echo \'$HOME $PATH\'

  $HOME $PATH

  $echo \$HOME $PATH

  $HOME /opt/kde/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/hbw

  ork/bin

  其他:

  $dir=ls

  $$dir

  $alias dir ls

  $dir

  ls > filelist

  ls >> filelist

  wc -l

  wc -l filelist

  sleep 5; echo 5 seconds reache

温馨提示:
1、本内容转载于网络,版权归原作者所有!
2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!

163

主题

953

帖子

1167

积分

小生

Rank: 3Rank: 3

积分
1167
发表于 2013-12-12 20:27 | 显示全部楼层
真是天底下好事多多
回复

使用道具 举报

13

主题

473

帖子

525

积分

小生

Rank: 3Rank: 3

积分
525
发表于 2013-12-16 16:51 | 显示全部楼层
什么什么啊??
回复

使用道具 举报

22

主题

45

帖子

67

积分

新手

Rank: 2

积分
67
发表于 2013-12-20 19:52 | 显示全部楼层
楼主身体健康,万事如意!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

客服QQ/微信
860820528 周一至周日:09:00 - 22:00
十五年老品牌,学习网上创业赚钱,首先阿抖学社,值得信赖!
阿抖学社 版权所有!

本站内容均转载于互联网,并不代表阿抖学社立场!
拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!

小黑屋|广告服务|加入vip|APP下载|手机版| 阿抖学社 ( 蜀ICP备14032121号-4 ) |网站地图

GMT+8, 2025-9-27 11:13 , Processed in 0.093356 second(s), 31 queries .

快速回复 返回顶部 返回列表