设为首页 加入收藏

TOP

北京拓明科技有限公司Linux笔试题
2014-11-11 15:00:06 来源: 作者: 【 】 浏览:36
Tags:北京 科技 有限公司 Linux 试题

编写一个程序,接收两个参数ID和content


(1)如果这ID在文件IDlist.txt中有,那么在数据库中插入一条记录。


(2)如果ID没有那么把ID和content写入文件result.txt中。


解答:


分析:误区,此题看似简单,其实并不容易,好多学生,在文件没有比对完 就做实际判断并操作,得到的结果是不对的。此题能够自己不去g,可以清晰的完成下来,在写脚本,编程方面基本就过关了。



1、假设IDlist.txt为如下内容


[root@oldboy ~]# cat IDlist.txt


01 ydds


02 jeacen


03 kuqi


04 maidong


05 yazhe


06 maliao


07 xiaofan


2.使用编写好的ett.sh脚本实施测试


[root@oldboy ~]# sh ett.sh 03 ‘linux’ IDlist.txt


[root@oldboy ~]# mysql -S /data/3306/mysql.sock -e “select * from oldboy.oldboy ”


+——+———+


| id | content |


+——+———+


| 3 | linux |


+——+———+


[root@oldboy ~]# sh ett.sh 06 ‘oldboy’ IDlist.txt


[root@oldboy ~]# mysql -S /data/3306/mysql.sock -e “select * from oldboy.oldboy ”


+——+———+


| id | content |


+——+———+


| 6 | oldboy |


+——+———+


[root@oldboy ~]# sh ett.sh 08 ‘oldboy’ IDlist.txt


[root@oldboy ~]# cat result.txt


08 oldboy IDlist.txt


3、实际脚本内容


[root@oldboy ~]# cat ett.sh


#!/bin/sh


############################################################


# Purpose: script


# USER YYYY-MM-DD – ACTION


# Oldboy 2011-01-07 – Created


############################################################


status=0


IdArray=($(cat $3|awk ‘{print $1}’))


for ((i=0; i<`echo ${#IdArray[*]}`; i++))


do


if [ $1 -eq ${IdArray[$i]} ] ;then


mysql -S /data/3306/mysql.sock -e “DROP DATABASE IF EXISTS oldboy;”


mysql -S /data/3306/mysql.sock -e “create database oldboy;create table oldboy.oldboy(id int,content varchar(100))”


mysql -S /data/3306/mysql.sock -e “insert into oldboy.oldboy values($1,’$2′)”


let status+=99;


exit


fi


done



if [ $status -ne 99 ];then


echo “$1 $2 $3″ >./result.txt


fi


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇整理的一些dba面试题 下一篇数据库面试题 2

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: