码迷,mamicode.com
首页 > 系统相关 > 详细

2017年最新企业面试题之shell(一)

时间:2017-08-04 10:10:01      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:2017年最新企业面试题之shell

2017年最新企业面试题之shell(一)


**********************************************

企业Shell面试题1:批量生成随机字符文件名案例 *

**********************************************

使用for循环在/oldboy目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串oldboy,名称示例如下:

[root@oldgirl C19]# ls /oldboy

apquvdpqbk_oldboy.html  mpyogpsmwj_oldboy.html  txynzwofgg_oldboy.html

bmqiwhfpgv_oldboy.html  mtrzobsprf_oldboy.html  vjxmlflawa_oldboy.html

jhjdcjnjxc_oldboy.html  qeztkkmewn_oldboy.html

jpvirsnjld_oldboy.html  ruscyxwxai_oldboy.html

解答:

脚本内容如下:(for循环实现脚本)

#!/bin/bash

#date=2017-8-3

cd /oldboy

for (( i=0;i<10;i++ ))

do

   r=` head -c 500 /dev/urandom|tr -dc [a-z]|head -c 10|sed -r ‘s#[^a-z]#m#g‘`

   touch "$r"_oldboy.html

done

说明:

技术分享

脚本执行结果如下:

[root@ceshiji oldboy]# ll

总用量 8

-rw-r--r-- 1 root root   0 8月   3 13:35 defozmpplm_oldboy.html

-rw-r--r-- 1 root root 175 8月   3 13:35 for.sh

-rw-r--r-- 1 root root   0 8月   3 13:35 fpwxukgqho_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:35 gwtwtmdwaf_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:35 htttummyjh_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:35 myqmgyixuj_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:35 rmsyxakjbx_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:35 sxarorojil_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:35 wfqaymdmxc_oldboy.html

-rw-r--r-- 1 root root 184 8月   3 13:32 while.sh

-rw-r--r-- 1 root root   0 8月   3 13:35 yvgviwswze_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:35 zhikoyxipv_oldboy.html


脚本内容如下:(while循环实现脚本)

#!/bin/bash

#date=2017-8-3

cd /oldboy

i=0

while (( i<10 ))

do

   r=` head -c 500 /dev/urandom|tr -dc [a-z]|head -c 10|sed -r ‘s#[^a-z]#m#g‘`

   touch "$r"_oldboy.html

   ((i++))

done

说明:

技术分享

脚本执行结果如下:

[root@ceshiji oldboy]# ll

总用量 4

-rw-r--r-- 1 root root   0 8月   3 13:28 atncjmfwtd_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:28 bmbhdhvqmb_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:28 bmuqvcehgc_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:28 irfrxjjmny_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:28 mvprsmwvah_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:28 nxyfjkvekl_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:28 omqyxuykgq_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:28 smkxwfjepd_oldboy.html

-rw-r--r-- 1 root root 184 8月   3 13:28 while.sh

-rw-r--r-- 1 root root   0 8月   3 13:28 wkwmkktdcn_oldboy.html

-rw-r--r-- 1 root root   0 8月   3 13:28 xtznpcuxem_oldboy.html

************************************

企业Shell面试题2:批量改名特殊案例 *

************************************

将以上面试题1中结果文件名中的oldboy字符串全部改成oldgirl(最好用for循环实现),并且将扩展名html全部改成大写。

解答:

for循环实现脚本如下:

#!/bin/bash

#date=2017-8-3

cd /oldboy

for i in `ls|grep .*html`

do

  mv $i  `echo $i|sed -r ‘s#(.*)_oldboy.html#\1_oldgirl.HTML#‘`

done

说明:

技术分享

技术分享

脚本执行结果如下:

[root@ceshiji oldboy]# sh for2.sh

ahqrvgmewi_oldgirl.HTML

cekphjpxmf_oldgirl.HTML

fodvkohejd_oldgirl.HTML

llymsvwhim_oldgirl.HTML

mejlzbfmna_oldgirl.HTML

mxqrnbgmnt_oldgirl.HTML

pkviyuhrum_oldgirl.HTML

shmmlxzkdu_oldgirl.HTML

wmgokfirna_oldgirl.HTML

wmmknomcmy_oldgirl.HTML

其他方法参考:http://wutengfei.blog.51cto.com/10942117/1951146


********************************************

企业Shell面试题3:批量创建特殊要求用户案例 *

********************************************


批量创建10个系统帐号oldboy01-oldboy10并设置密码(密码为随机数,要求字符和数字等混合)。

不用for循环的实现思路:http://user.qzone.qq.com/49000448/blog/1422183723

解答:

#!/bin/bash

#date=2018-8-3

for i in `seq -w 1 10`

do

   useradd oldboy$i -M

   echo "`openssl rand -base64 8`"|passwd  --stdin oldboy$i

done

说明:

技术分享

技术分享

本文出自 “圣骑士控魔之手” 博客,请务必保留此出处http://wutengfei.blog.51cto.com/10942117/1953452

2017年最新企业面试题之shell(一)

标签:2017年最新企业面试题之shell

原文地址:http://wutengfei.blog.51cto.com/10942117/1953452

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!