bash实战
admin
2023-08-01 04:00:06
0次

闲逛中看到如下几个bash题目,于是手痒


1、使用for循环在目录下通过随机小写10个字母加固定字符串Xman批量创建10个html文件,名称例如为:


# sh randfile.sh 

# ll

total 4

-rw-r--r-- 1 root root   0 Feb 17 16:07 cxriwsivclXman.html

-rw-r--r-- 1 root root   0 Feb 17 16:07 cxypjcpazqXman.html

-rw-r--r-- 1 root root   0 Feb 17 16:07 fvkdxxluouXman.html

-rw-r--r-- 1 root root   0 Feb 17 16:07 mahnrlhyduXman.html

-rw-r--r-- 1 root root   0 Feb 17 16:07 omhxsjftubXman.html

-rw-r--r-- 1 root root   0 Feb 17 16:07 pyevqsxrfnXman.html

-rw-r--r-- 1 root root 216 Feb 17 16:06 randfile.sh

-rw-r--r-- 1 root root   0 Feb 17 16:07 rcrecpovdhXman.html

-rw-r--r-- 1 root root   0 Feb 17 16:07 vmjzedrtapXman.html

-rw-r--r-- 1 root root   0 Feb 17 16:07 worlmhciqjXman.html

-rw-r--r-- 1 root root   0 Feb 17 16:07 xietooufrmXman.html


实现如下:

#!/bin/bash
#
arr=( a b c d e f g h i j k l m n o p q r s t u v w x y z )

for((j=1;j<=10;j++));do
  str=
  for((i=1;i<=10;i++));do
    str="$str\${arr[$[$RANDOM%26]]}"
  done
  touch $(eval echo $str)Xman.html
done

2、将以上文件名中的Xman全部改成gril(用for循环实现),并且html改成大写。

#!/bin/bash
for file in *.html ; do 
  mv $file $(echo $file | sed 's/Xman.html/gril.HTML/') ; 
done

结果:

[root@tvvmq40030 t]# ll

total 4

-rw-r--r-- 1 root root   0 Feb 17 16:07 cxriwsivclgril.HTML

-rw-r--r-- 1 root root   0 Feb 17 16:07 cxypjcpazqgril.HTML

-rw-r--r-- 1 root root   0 Feb 17 16:07 fvkdxxluougril.HTML

-rw-r--r-- 1 root root   0 Feb 17 16:07 mahnrlhydugril.HTML

-rw-r--r-- 1 root root   0 Feb 17 16:07 omhxsjftubgril.HTML

-rw-r--r-- 1 root root   0 Feb 17 16:07 pyevqsxrfngril.HTML

-rw-r--r-- 1 root root 216 Feb 17 16:06 randfile.sh

-rw-r--r-- 1 root root   0 Feb 17 16:07 rcrecpovdhgril.HTML

-rw-r--r-- 1 root root   0 Feb 17 16:07 vmjzedrtapgril.HTML

-rw-r--r-- 1 root root   0 Feb 17 16:07 worlmhciqjgril.HTML

-rw-r--r-- 1 root root   0 Feb 17 16:07 xietooufrmgril.HTML


3、bash for循环打印下面这句话中字母数不大于6的单词(昆仑万维面试题)。
I am oldboy teacher welcome to oldboy training class.


结果如下:

[root@tvvmq40030 t]# sh pr.sh 

I

am

oldboy

to

oldboy

class.

实现:

#!/bin/bash
for i in I am oldboy teacher welcome to oldboy training class. ; do
  [[ ${#i} -le 6 ]] && echo $i
done


4、请用shell或Python编写一个等腰三角形(triangle.sh),接收用户输入的数字。

例如:

triangle.sh Please Enter a number:5    *   ***  ***** ****************


实现:

#!/bin/bash
read -p "Please Enter a number: " line

black() {
  for((j=1;j<=$1;j++)); do
    echo -n "$2"
  done
}

for i in $(seq 1 $line); do
  black $[$line - $i] " "
  black $[$i * 2 -1 ] "*"
  black $[$line - $i] " "
  echo
done


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...