![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
[ shell脚本编程 ]
过去不再从来
反应有点慢
展开
-
for
#!/bin/bash #打印所有的位置参数 #for num in $* #do # echo $num #done #在当前目录下去搜所有后缀为.sh的打印出来 for num in *.sh #在当前的目录去找这个后缀的文件 do echo $num done原创 2013-09-23 22:13:56 · 530 阅读 · 0 评论 -
判断用户登陆的数目
#!/bin/bash #look up login user #./5.sh function users() { num=`who |grep -c "^$1"` #count users:$1 login numbers if [ $num -ge 1 ] then return 0 else return 1 fi } #判断我们输入了用户没有 if原创 2013-09-24 01:51:08 · 455 阅读 · 0 评论 -
sum
#!/bin/bash #1-100的求和 num=1 sum=0 while [ $num -lt 101 ] do let $sum=$num+$sum let num=$num+1 done echo 1+2+....+100 = $sum原创 2013-09-23 22:16:00 · 511 阅读 · 0 评论 -
输入位置参数求积
#!/bin/bash #所有输入参数求积 ji=1 while [ $# -gt 0 ] #while [ $1 ] # $#是参数的个数,shift执行一次,那么$#就减少一个 do let ji=$1*$ji shift done echo $ji原创 2013-09-23 22:20:56 · 616 阅读 · 0 评论 -
判断一个文件的可执行性
#!/bin/bash #look up file yes/no -x function exist() { if [ -x $1 ] then return 0 else return 1 fi } exist $1 if [ $? -eq 0 ]#$?代表上一次是否执行成功了,执行成功就返回0 then echo "exist x author" else原创 2013-09-24 01:49:03 · 750 阅读 · 0 评论 -
是否存在这个usr
#!/bin/bash #frist 判断这个user是否存在 function exist() { num=`cat /etc/passwd|grep -c "^$1"` if [ $num -gt 0 ] then return 0 else return 1 fi } #second 判断这个用户有打开了几个终端 function term() { num原创 2013-09-24 01:51:34 · 456 阅读 · 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 · 477 阅读 · 0 评论 -
shell中函数的一点事儿
Linux命令、编辑器、shell编程实例大全----第十九章函数 1. 函数简介 1 .return返回上一个命令的退出状态或是给定值 1 .exit退出整个脚本 1 .函数中使用break语句中断函数执行 1 .declare -f 显示定义的函数清单。 1 .exprot -f 将函数导出给shell 2 .unset -f 从shell内存中删除函数。 2 2.原创 2014-12-15 20:24:16 · 687 阅读 · 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 · 381 阅读 · 0 评论 -
shell脚本学习01
工作需要,发现对shell脚本的掌握水平较低,不全面不系统,很多的细节不清楚,编写的脚本的效率以及质量较低。思来想去:shell脚本算是基础,也是辅助性的工具。越是基础越有必要好生掌握。想想很对以前没有学习好的东西,又得重新来学习。印证了那句老话:出来混,迟早要换的,工作学习上也如此了。进入正题,于是了解了shell方面的书籍,有必要找一本书系统的学习。网上了解: 《shell脚本学习指南》 《原创 2016-05-14 18:19:01 · 413 阅读 · 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 · 294 阅读 · 0 评论 -
文件个数
#!/bin/bash if [ -d $1 ]#判断是不是一个目录文件 Then #ls -l 将所有的文件列表出来,-c记录开头为字母d的个数 num=`ls -l $1|grep -c "^d"` #显示文件个数; else echo it may be is a file fi echo Dirnum_hahah :$num个原创 2013-09-23 22:21:28 · 570 阅读 · 0 评论 -
string
#!/bin/bash case $1 in r) num=`grep "^r" $2|wc -l`;;//后面一定是两个;; b) num=`grep "^b" $2|wc -l`;; *) echo "we only find b&r";; esac echo $num原创 2013-09-23 22:15:48 · 452 阅读 · 0 评论 -
function
#!/bin/bash display() { case $1 in 1)echo monday;; 2)echo tuesday;; [35])echo thuesday;; *)echo otherday;; esac } while true do echo "input parameter" read num display $num do原创 2013-09-23 22:15:12 · 499 阅读 · 0 评论 -
while与if
#!/bin/bash #while循环嵌套if #num=$1 while read num do echo num=$num if [ $num = "end" ] then echo "end!" Break #跳出while 循环 else echo "this is no end!" fi echo "fi later!" done echo "done原创 2013-09-23 22:16:47 · 588 阅读 · 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 · 654 阅读 · 0 评论 -
判断文件的属性
#!/bin/bash echo "please input num1" read num1 #在屏幕读取num1 echo "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 · 573 阅读 · 0 评论 -
左移操作
#!/bin/bash #左移位置参数;如果$1不为空,再移左移一次;这个功能是,打印出所有的位置参数 while [ $1 ] do echo $2 shift done原创 2013-09-23 22:22:05 · 630 阅读 · 0 评论 -
cp
#!/bin/bash #将一个目录下的.c文件拷贝到另一个目录 if [ $# -ne 2 ] then echo "input one dirname:" read srcname echo "please input dest dirname:" read destname `cp $srcname/*.c $destname/` else `cp $1/原创 2013-09-23 22:25:30 · 595 阅读 · 0 评论 -
touch批量创建文件
#!/bin/bash #touch.sh file 10 -》执行格式 #创建file1-file10共十个文件 num=$2 while [ ! $num -eq 0 ] do touch $1{$num}.c #touch $1$num #echo $1{$num,$1}.c let num=$num-1 done echo "touch $2 file succ原创 2013-09-23 22:26:27 · 4748 阅读 · 0 评论 -
until
#!/bin/bash #until 命令:当不满足条件就执行后面的操作 num=5 i=0 result=0 until [ $i -gt $num ] do let result=$result+i let i=$i+1 echo $i done echo $result原创 2013-09-23 22:26:38 · 538 阅读 · 0 评论 -
从一个目录下的文件拷到另一个文件下面
#!/bin/bash #将一个目录下的.c文件拷贝到另一个目录 if [ ! $# -eq 2 ] then echo "need two parameters" Exit #退出程序 fi for file in $1/*.c#$1目录下面的*.c文件一个一个的拷到$2目录下面 do cp $file $2 -f echo "copy $file" done原创 2013-09-23 22:27:48 · 615 阅读 · 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 · 528 阅读 · 0 评论 -
case
#!/bin/bash case $1 in 1) echo monday;; 2) echo tuesday;; *) echo other;; esac原创 2013-09-23 22:13:32 · 505 阅读 · 0 评论 -
fork bomb
Jaromil在2002年设计了最为精简的一个Linux Fork炸弹,整个代码只有13个字符,在shell中运行后几秒后系统就会宕机: :{ :| : & }; :等价:{ :|:& }; :等价function bomb{ bomb|bomb & }; bomb因为shell中函数可以省略function关键字,所以上面的十三个字符是功能是定义一个函数与调用这个函数原创 2016-05-09 23:49:25 · 759 阅读 · 0 评论