面试 企业shell编程基础问题解决实践(亲测)

金鞍玉勒寻芳客,未信我庐别有春。这篇文章主要讲述面试 企业shell编程基础问题解决实践(亲测)相关的知识,希望能为你提供帮助。
问题是选的老男孩老师博客里面的问题,举一反三其中也自己也延伸了两题。
老男孩老师博客的地址http://oldboy.blog.51cto.com/2561410/1718607


言归正传,


1.请用shell或python编写一个正方形,接收用户输入的数字。

面试 企业shell编程基础问题解决实践(亲测)

文章图片

方法:vim zhong1.sh
 

#!/bin/bash read  -p  "Please  Enter  a  number:"  n  for  ((x=1; x< =$n; x++)); do         for  ((y=1; y< =$n*2; y++))do                 echo  -n  "+"         done         echo  "" done



  例如2:用■号实现   (zhong2.sh)
面试 企业shell编程基础问题解决实践(亲测)

文章图片

方法:vim zhong2.sh

#!/bin/bash read  -p  "Please  Enter  a  number:"  n  for  ((x=1; x< =$n; x++)); do         for  ((y=1; y< =$n; y++))do                 echo  -n  "■  "         done         echo  "" done


  2.请用shell或Python编写一个等腰三角形,接收用户输入的数字。

例如:用*号实现 (zhong3.sh)
面试 企业shell编程基础问题解决实践(亲测)

文章图片

方法:vim zhong3.sh

#!/bin/bash read  -p  "Please  Enter  a  number:"  n  for  ((x=1; x< =$n; x++)); do          for  ((z=1; z< =$n-x; z++)); do         echo  -n  "  "         done         for  ((y=1; y< =a+1; y++)); do         echo  -n  "*"         done         echo          a=$((a+2)) done

 

  3.请用shell或Python编写一个倒等腰三角形,接收用户输入的数字。(题二的延生)

例如:用*号实现 (zhong33.sh)
面试 企业shell编程基础问题解决实践(亲测)

文章图片

方法:vim zhong33.sh   (可以在zhong3.sh的基础上行改变一下就可以的出来)

#!/bin/bash read  -p  "Please  Enter  a  number:"  n  for  ((x=1; x< =$n; x++)); do          for  ((z=0; z< x-1; z++)); do         echo  -n  "  "         done         for  ((y=1; y< =$n-(a+1-$n); y++)); do         echo  -n  "*"         done         echo          a=$((a+2)) done

【面试 企业shell编程基础问题解决实践(亲测)】

4.请用shell或Python编写一个菱形,接收用户输入的数字。(题二的延生)
例如:用*号实现 (zhong333.sh)
面试 企业shell编程基础问题解决实践(亲测)

文章图片

方法:vim zhong333.sh

  #!/bin/bash read  -p  "Please  Enter  a  number:"  n  for  ((x=1; x< =$n; x++)); do          for  ((z=1; z< =$n-x; z++)); do         echo  -n  "  "         done         for  ((y=1; y< =a+1; y++)); do         echo  -n  "*"         done         echo          a=$((a+2)) done b=2 for  ((x=1; x< =$n; x++)); do         for  ((z=0; z< =x-1; z++)); do             echo  -n  "  "         done         for  ((y=1; y< =$n-(b+1-$n); y++)); do             echo  -n  "*"         done         echo         b=$((b+2)) done



5.请用shell或Python编写一个画直角梯形程序,接收用户输入的参数n,m
 
例如:用*号实现   (zhong4.sh)
面试 企业shell编程基础问题解决实践(亲测)

文章图片


方法:vim zhong4.sh


  #!/bin/bash for  ((x=1; x< =$2; x++)); do         for  ((y=1; y< =$1+a; y++))do                 echo  -n  "+  "         done         a=$((a+1))         echo  "" done



以上结果亲测过,能完全实现题目的要求
linux环境:Linux 51master 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux


    推荐阅读