[ shell脚本编程 ]
过去不再从来
反应有点慢
展开
-
for
#!/bin/bash#打印所有的位置参数#for num in $* #do# echo $num#done#在当前目录下去搜所有后缀为.sh的打印出来for num in *.sh #在当前的目录去找这个后缀的文件 do echo $numdone原创 2013-09-23 22:13:56 · 537 阅读 · 0 评论 -
判断用户登陆的数目
#!/bin/bash#look up login user#./5.sh function users(){num=`who |grep -c "^$1"` #count users:$1 login numbersif [ $num -ge 1 ] thenreturn 0elsereturn 1fi }#判断我们输入了用户没有if原创 2013-09-24 01:51:08 · 464 阅读 · 0 评论 -
sum
#!/bin/bash#1-100的求和num=1sum=0while [ $num -lt 101 ]dolet $sum=$num+$sumlet num=$num+1done echo 1+2+....+100 = $sum原创 2013-09-23 22:16:00 · 520 阅读 · 0 评论 -
输入位置参数求积
#!/bin/bash#所有输入参数求积ji=1while [ $# -gt 0 ] #while [ $1 ] # $#是参数的个数,shift执行一次,那么$#就减少一个dolet ji=$1*$jishiftdoneecho $ji原创 2013-09-23 22:20:56 · 623 阅读 · 0 评论 -
判断一个文件的可执行性
#!/bin/bash#look up file yes/no -xfunction exist(){if [ -x $1 ]then return 0elsereturn 1fi}exist $1if [ $? -eq 0 ]#$?代表上一次是否执行成功了,执行成功就返回0then echo "exist x author"else原创 2013-09-24 01:49:03 · 758 阅读 · 0 评论 -
是否存在这个usr
#!/bin/bash #frist 判断这个user是否存在function exist(){num=`cat /etc/passwd|grep -c "^$1"`if [ $num -gt 0 ]thenreturn 0elsereturn 1fi}#second 判断这个用户有打开了几个终端function term(){num原创 2013-09-24 01:51:34 · 462 阅读 · 0 评论 -
shell中调用shell
fork ( /directory/script.sh)fork是最普通的, 就是直接在脚本里面用/directory/script.sh来调用script.sh这个脚本.运行的时候开一个sub-shell执行调用的脚本,sub-shell执行的时候, parent-shell还在。sub-shell执行完毕后返回parent-shell. sub转载 2014-08-04 11:47:09 · 487 阅读 · 0 评论 -
shell中函数的一点事儿
Linux命令、编辑器、shell编程实例大全----第十九章函数 1. 函数简介 1.return返回上一个命令的退出状态或是给定值 1.exit退出整个脚本 1.函数中使用break语句中断函数执行 1.declare -f 显示定义的函数清单。 1.exprot -f 将函数导出给shell 2.unset -f 从shell内存中删除函数。 22.原创 2014-12-15 20:24:16 · 691 阅读 · 0 评论 -
使用shell命令小结
1.只查看spi中断数:root@android:/ # cat /proc/interrupts | busybox grep sun4i-spi 10: 73376 sw_vic sun4i-spi 11: 114018 sw_vic sun4i-spi 12: 0 sw_vic su原创 2015-02-07 14:35:30 · 388 阅读 · 0 评论 -
shell脚本学习01
工作需要,发现对shell脚本的掌握水平较低,不全面不系统,很多的细节不清楚,编写的脚本的效率以及质量较低。思来想去:shell脚本算是基础,也是辅助性的工具。越是基础越有必要好生掌握。想想很对以前没有学习好的东西,又得重新来学习。印证了那句老话:出来混,迟早要换的,工作学习上也如此了。进入正题,于是了解了shell方面的书籍,有必要找一本书系统的学习。网上了解: 《shell脚本学习指南》 《原创 2016-05-14 18:19:01 · 418 阅读 · 0 评论 -
shell脚本学习02-第一章小结
《Linux Shell脚本攻略》 第一章小结1.1脚本格式: 1 1.2脚本执行: 1 1.3终端打印: 1 1.4环境变量 2 1.5 数字运算 3 1.6文件描述符和重定向 4 1.7数据以及关联数组 4 1.8 别名 5 1.9 获取终端信息 5 1.10 获取时间 6 1.11调试脚本 7 1.12 函数与参数 7 1.原创 2016-05-14 18:22:39 · 300 阅读 · 0 评论 -
文件个数
#!/bin/bash if [ -d $1 ]#判断是不是一个目录文件Then#ls -l 将所有的文件列表出来,-c记录开头为字母d的个数num=`ls -l $1|grep -c "^d"` #显示文件个数;elseecho it may be is a filefiecho Dirnum_hahah :$num个原创 2013-09-23 22:21:28 · 577 阅读 · 0 评论 -
string
#!/bin/bash case $1 inr) num=`grep "^r" $2|wc -l`;;//后面一定是两个;;b) num=`grep "^b" $2|wc -l`;;*) echo "we only find b&r";;esacecho $num原创 2013-09-23 22:15:48 · 457 阅读 · 0 评论 -
function
#!/bin/bash display(){ case $1 in1)echo monday;;2)echo tuesday;;[35])echo thuesday;;*)echo otherday;;esac}while truedoecho "input parameter"read numdisplay $numdo原创 2013-09-23 22:15:12 · 507 阅读 · 0 评论 -
while与if
#!/bin/bash#while循环嵌套if#num=$1while read numdoecho num=$numif [ $num = "end" ]thenecho "end!"Break #跳出while 循环else echo "this is no end!"fiecho "fi later!"doneecho "done原创 2013-09-23 22:16:47 · 605 阅读 · 0 评论 -
在一个目录下面收索文件
#!/bin/bash#辉哥在一个目录下面收索文件if [ $# -le 0 then echo 请输入要查找的文件开始 read filehead echo 请输入要查找的路径 read filepath let count=`ls $filepath|grep -c ^$filehead` echo 共查找到$count个以$filehead开头的文件原创 2013-09-23 22:18:47 · 659 阅读 · 0 评论 -
判断文件的属性
#!/bin/bashecho "please input num1"read num1 #在屏幕读取num1echo "please input num2"read num2#判断sum1是不是一个目录文件;num2是不是一个可执行文件if [ -d $num1 -a -x $num2 ] #-a是与的意思#if [ -d $1 -a -x $2 ]#在执行这个文原创 2013-09-23 22:20:01 · 582 阅读 · 0 评论 -
左移操作
#!/bin/bash#左移位置参数;如果$1不为空,再移左移一次;这个功能是,打印出所有的位置参数while [ $1 ]doecho $2shiftdone原创 2013-09-23 22:22:05 · 641 阅读 · 0 评论 -
cp
#!/bin/bash #将一个目录下的.c文件拷贝到另一个目录if [ $# -ne 2 ]thenecho "input one dirname:"read srcnameecho "please input dest dirname:"read destname `cp $srcname/*.c $destname/`else`cp $1/原创 2013-09-23 22:25:30 · 604 阅读 · 0 评论 -
touch批量创建文件
#!/bin/bash #touch.sh file 10 -》执行格式#创建file1-file10共十个文件num=$2while [ ! $num -eq 0 ]dotouch $1{$num}.c #touch $1$num #echo $1{$num,$1}.clet num=$num-1doneecho "touch $2 file succ原创 2013-09-23 22:26:27 · 4766 阅读 · 0 评论 -
until
#!/bin/bash#until 命令:当不满足条件就执行后面的操作num=5i=0result=0until [ $i -gt $num ]dolet result=$result+ilet i=$i+1echo $i doneecho $result原创 2013-09-23 22:26:38 · 545 阅读 · 0 评论 -
从一个目录下的文件拷到另一个文件下面
#!/bin/bash #将一个目录下的.c文件拷贝到另一个目录if [ ! $# -eq 2 ]thenecho "need two parameters"Exit #退出程序fi for file in $1/*.c#$1目录下面的*.c文件一个一个的拷到$2目录下面docp $file $2 -fecho "copy $file"done原创 2013-09-23 22:27:48 · 619 阅读 · 0 评论 -
shell小结
0603 uplooking 第八天 1.ls;pwd;date ->按顺序执行;每一个都执行2.cat 3.c||pwd ->||是或的意思;只要前面有一个能执行,后面的 都不执行了也连多个||;如果||cp 2.c /home && rm 2.c -f ->如果前面执行成功了,后面才执行;如果前面没有执行成功,后面不执行;3.vim i(I)/a原创 2013-09-24 02:00:37 · 536 阅读 · 0 评论 -
case
#!/bin/bash case $1 in 1) echo monday;;2) echo tuesday;;*) echo other;;esac原创 2013-09-23 22:13:32 · 516 阅读 · 0 评论 -
fork bomb
Jaromil在2002年设计了最为精简的一个Linux Fork炸弹,整个代码只有13个字符,在shell中运行后几秒后系统就会宕机: :{ :| : & }; :等价:{ :|:& }; :等价function bomb{ bomb|bomb & }; bomb因为shell中函数可以省略function关键字,所以上面的十三个字符是功能是定义一个函数与调用这个函数原创 2016-05-09 23:49:25 · 774 阅读 · 0 评论