shell编程题(五)】的更多相关文章

打印root可以使用可执行文件数. echo "root's bins: $(find ./ -type f | xargs ls -l | sed '/-..x/p' | wc -l)" 命令解释 1.echo 输出后面双引号的的内容 2. find ./ -type f 查找当前目录下文件类型为f的文件,把查找的结果作为输入传给下一个 3. xargs ls –l xargs 捕获一个命令的输出,然后传递给另外一个命令,之所以能用到这个命令,关键是由于很多命令不支持|管道来传递参数…
通过前几篇文章的学习,我们学会了shell的基本语法.在linux的实际操作中,我们经常看到命令会有很多参数,例如:ls -al 等等,那么这个参数是怎么处理的呢? 接下来我们就来看看shell脚本对于用户输入参数的处理. 命令行参数处理 根据参数位置获取参数 bash shell可根据参数位置获取参数.通过 $1 到 $9 获取第1到第9个的命令行参数.$0为shell名.如果参数超过9个,那么就只能通过${}来获取了, 例如获取第10个参数,那么可以写为${10}. 示例一: #!/bin/…
正则表达式 1.前情提要 以前我们用grep在一个文件中找出包含某些字符串的行,比如在头文件中找出一个宏定义.其实grep还可以找出符合某个模式(Pattern)的一类字符串.例如找出所有符合xxxxx@xxxx.xxx模式的字符串(也就是email地址),要求x字符可以是字母.数字.下划线.小数点或减号,email地址的每一部分可以有一个或多个x字符,例如abc.d@ef.com.1_2@987-6.54,当然符合这个模式的不全是合法的email地址,但至少可以做一次初步筛选,筛掉a.b.c@…
重定向作用 一个进程默认会打开标准输入.标准输出.错误输出三个文件描述符. 重定向可以让我们的程序的标准输出.错误输出的信息重定向文件里,那么这里还可以将文件的内容代替键盘作为一种标准输入的方式. 重定向符号 输入重定向符号"<" 输出重定向符号">",">>","2>","&>" 输入重定向功能 01 输入重定向符号"<"的作用: 会把…
编译当前目录下的所有.c文件 #!/bin/bash ] ;] 输入参数个数 echo "Please follow up file.c!" echo "eg: ./make.sh xxx.c" exit fi = "debug" ]] ;then #如果第三个参数是debug的话,就是编译调试 FILE2=$ echo ${FILE2} NAME=${FILE2%.*} #截取输入要编译文件的.之前的内容 比如 hello.c NAME = h…
求2个数之和 #!/bin/bash function add { )); then echo "The arg in't correct" else +$)) echo $sum fi } add add 运行结果: exbot@ubuntu:~/shareWin/linux/shell$ ./sum.sh 1 2The arg in't correct3 $#:相当于C语言的mian函数的(argc-1)传入的参数列表的值,表示输入值的数量减1,这个减去的1就是argv[0]. 其…
${}: 数据“内容”删除,替换:{}: 列表 1. 条件测试: test =~:正则匹配 2. if/then/elif/else/fi #!/bin/bash echo "Is it ok? yes or no" read YES_OR_NO if [ "$YES_OR_NO" = "yes" ]; then echo "is ok" elif [ "$YES_OR_NO" = "no&quo…
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步. (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步. 题目来源:http://blog.sina.com.cn/s/blog_60fafdda010…
输出本机创建20000个目录所用的时间 #! /bin/bash time ( ..} ; do mkdir /tmp/nnn$i done ) 运行记得删除 rm -rf /tmp/nnn*…