shell学习第六天--小结
来源:互联网 发布:3ds代理设置ip和端口 编辑:程序博客网 时间:2024/05/10 03:46
shell中的两个特殊文件“/dev/null”和“/dev/tty”
1. /dev/null
当被用作重定向输出时,程序的输出被直接丢弃。该文件用在哪些不关心程序输出的地方。
当被用作重定向输入时,输入则是文件结束。
2. /dev/tty
当被用作重定向时,表示重定向到终端。
基本命令查找
shell会沿着$PATH来寻找命令.$PATH是一个以冒号分割的目录列表,你可以在列表所指定的目录下找到所要执行的命令.命令可能是shell脚本,也可能是编译后的可执行文件,从用户角度来看,二者并无不同.
默认路径至少包含/bin和/usr/bin,或许还包含其他的.
名称为bin的目录用来保存可执行文件.
如果要编写自己的脚本,最好准备一个自己的bin目录来存放他们,并且让shell能够自动找到他们.
$cd
$mkdir bin
$mv nusers bin
$PATH+$PATH:$HOME/bin //将个人的bin目录附加到PATH(暂时生效,系统重启后失效)
nusers
要想永久生效,在/etc/profile文件中把你的bin目录加入到$PATH,而每次登陆时Shell都将读取.profile文件.
PATH=$PATH:$HOME/bin
$PATH里的空项目表示当前项目.空项目位于路径中间时,可以用两个连续的冒号来表示,如果将冒号直接置于最前端或尾端,分别表示查找的时候最先查找或最后查找当前目录.
$PATH=:/bin:/usr/bin 先找当前目录
$PATH=/bin::/usr/bin 当前目录居中
$PATH=/bin:/usr/bin: 最后找当前目录
不应该在查找路径中放进当前项目.
访问shell脚本的参数
定义参数关键字$:例如echo frist argumentsis $1,大于等于10的 参数需要用{}包起来,echo tenth argumentsis ${10}
例如我们想查找名字为syx用户是否登陆
who | grep syx
syx pts/1 2015-06-09 11:00 (192.168.199.114)
知道了如何寻找特定的用户后,我们可以经命令放在脚本里,这段脚本的第一个参数就是我们要找的用户名称
vi findname 建立新文件
#!/bin/sh
#查看指定用户是否登录
who | grep $1
-------------------------------------------------------
./findname syx
syx pts/1 2015-06-09 11:00 (192.168.199.114)
但是这是在理想情况下,如果用户不按套路出牌,即不指定参数,则会报错.
小结
编译性语言和脚本语言本身并无优劣之分,只有适合不适合
当对性能要求不高,希望尽快开发出程序并以较高的方式工作是,脚本语言完全可以胜任.
所有的shell脚本都应该以#!为第一行,这一机制可让你的脚本更有灵活性,你可以选择使用shell或其他的语言来编写脚本.
shell是一个完整的程序设计语言,我们已经说明过基本的命令,选项,参数与变量,以及echo与printf的基本输出,也稍微说了一下基本的I/O重定向符:<,>,>>以及|.
shell会在$PATH变量所列举的各个目录中寻找命令.$PATH常会包含个人的bin目录(永爱存储用户个人的程序与脚本),可以在/etc/profile文件中将目录列入到PATH里.
- shell学习第六天--小结
- JAVA学习第六天-小结
- shell脚本学习小结
- shell学习----小结
- shell学习小结
- shell学习小结
- 学习小结(第六章数组)
- Bash Shell脚本学习小结
- 【shell】sed学习小结1
- Bash Shell脚本学习小结
- Bash Shell脚本学习小结
- Shell 脚本学习小结-1
- 嵌入式开发之linux基础第六天学习笔记 shell脚本编程(一)
- Linux常用shell命令(学习小结)
- shell学习小总结----本章小结
- shell脚本学习02-第一章小结
- Shell学习小结 - 深入认识变量
- linux shell 指令学习小结(一)
- hdu5246 超级赛亚ACMer
- 好文章集合
- Nginx打造3w高并发网站 (推荐)
- POJ 1422 Air Raid (二分图最小点集覆盖 匈牙利算法)
- 编程练习,自己做的21点游戏
- shell学习第六天--小结
- 做课程项目的感想
- 好书集合
- 香港虚拟主机哪家好?
- SAT写作例子之Frank Lloyd Wright
- hbase ganglia监控配置
- leetcode 109 【建立BST树】
- 如何查询本机端口占用情况 .
- SAT写作用词写作关系-逻辑用词