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

笔试练习(三): 21.编写shell程序,实现自动删除30个账号的功能. 账号名为std01至std30. [root@VM_0_5_centos test]# vi 21.sh [root@VM_0_5_centos test]# cat 21.sh #!/bin/bash #编写shell程序,实现自动删除30个账号的功能.账号名为std01至stud30 #要有root权限 for i in {9901..9930}; do xx=`echo $i | sed 's/99//g'` us…
通过前两篇文章,我们掌握了shell的一些基本写法和变量的使用,以及基本数据类型的运算.那么,本次就将要学习shell的结构化命令了,也就是我们其它编程语言中的条件选择语句及循环语句. 不过,在学习shell结构化命令的时候,我们又会发现它与其它编程的语言相比存在不小的区别.下面就开始看看吧: 条件选择 在条件选择语句中,主要包含以下几种写法: if-then语句 if command then commands fi  例如:…
将一目录下所有的文件的扩展名改为bak #! /bin/bash for i in `ls` do mv $i ${i%%.*}.bak done ${i%%.*} 截掉一个变量字符串第一个"."以及其右侧的所有字符,即最短前缀匹配. #! /bin/bash dir=./ #指定文件夹 for file in $dir*.txt #指定文件夹下面文件类型 do base=${file%.*} mv $file ${base}.bak #修改为指定文件类型 done…
第三章 操作文件 我依然清楚地记得,Windows95 的贝塔版出现的情形,它在朋友之间和学院中传播,好酷,全新的文件管理器,一种全图标,全彩色可客户化的界面,以及活泼的动画标识使得在文件拷贝和删除方面的操作更容易和直观. 作为真正的软件狂人,我们能为一个比萨饼的奖金开始竞赛,一直以求成为第一个能够编程再造如此行为的人—即,怎样以动画方式拷贝文件.花了几个小时的时间才在一大堆新函数中找出了SHFileOperation()函数,这是一个响应动画拷贝的API函数,它也是探测器执行所有文件操作的函数…
正则表达式:-------------------------------------------------------------------------------------------^        行起始                ^tux        匹配以tux起始的行$        行结尾                tux$        匹配以tux结尾的行.        匹配任意字符            Hack.        匹配Hack1.Hacki…
题目如下.解题步骤参考的是https://cloud.tencent.com/developer/news/373865中作者的思路. 1.首先,两个四位数相加等于一个五位数,那么这个五位数的第一位必定是1,也就是“三”=1,. 2.继续分析“祥”+“三”,若是“祥”(8),“三”为1,那么低位必定有进位(才能结果为五位数):若是“祥”(9),假如低位没有进位,则也满足条件,而低位有进位那么“羊”为1,这就不符合题目要求(“三”=1,不同的汉字代表不同的数字).所以总结下来,“祥”可能为9或8,…
执行命令的方式 执行Shell脚本的方式通常有以下四种 方式一:bash ./test.sh 方式二:./test.sh 方式三:source ./test.sh 方式四:. ./test.sh 执行方式的区别 方式一bash方式执行脚本的话,会在当前的终端下面产生一个bash子进程来运行脚本,所以对当前的环境是没有影响的. [root@lincoding usr]# bash ./test.sh 方式二./test.sh的方式运行,则脚本第一行声明是哪个Shell解释器就会产生哪个Shell解…
编译当前目录下的所有.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…
一.位置参数和特殊变量 有很多特殊变量是被Shell自动赋值的,我们已经遇到了$?和$1,现在总结一下: 常用的位置参数和特殊变量: $0 相当于C语言main函数的argv[0] $1.$2... 这些称为位置参数(Positional Parameter),相当于C语言main函数的argv[1].argv[2]... $# 相当于C语言main函数的argc - 1,表示输入参数的个数,注意这里的#后面不表示注释 $@ 表示参数列表"$1" "$2" ...,…
!$:显示上一条命令最后一个参数 $?: 上个命令的退出状态,或函数的返回值. alias xxx="命令":给命令取别名 xxx 通过 vim ~/.bashrc 里编辑,可以来修改别名. <, <<:重定向输出 .>, >>:重定向到文件 管道:| 命令排序 shell通配符 子shell:重新开一个shell执行. (注:souch script.sh  或  .   script.sh 在当前shell里执行)  /script.sh  ba…