1...100的求和

非递归:

#!/bin/bash

read num

count=1

sum=0

val=""

ret=""

while [ $count -le $num ]

do

if [ $count -eq $num ];then

val=$count

else

val=${count}‘+‘

fi

let sum+=count

let count++

ret=${ret}${val}

done

echo ${ret}‘=‘$sum

递归:

#!/bin/bash

read num

function add(){

local val=$1

local count=0

local sum=0

local num=$val

if [ $val -eq 1 ];then

echo 1

return

fi

arr=$count1+$val

let val--

let count=$( add $val )

let sum=$count+$num

echo $sum

}

ret=$(add $num)

echo $ret

结果:

[[email protected] test6_19]$ ./add.sh

100

1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+76+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100=5050

求一个文件中数的最大最小值

#!/bin/bash

read name

max=0

min=0

count=0

while read line

do

if [ $count -eq 1 ];then

min=$line

fi

(( count++ ))

if [ $max -lt $line ];then

max=$line

fi

if [ $min -gt $line ];then

min=$line

fi

done

echo "max: "$max "min: "$min

斐波那契数列求和

非递归

#!/bin/bash

read num

fib_val[0]=1

fib_val[1]=1

count=0

function fib(){

local val=$1

while [ $count -lt $val ]

do

let fib_val[${count}+2]=${fib_val[${count}+1]}+${fib_val[$count]}

let count++

done

}

fib $num

echo ${fib_val[$count]}

递归:

#!/bin/bash

read num

function fib(){

local val=$1

local num1=0

local num2=0

if [ $val -eq 0 -o $val -eq 1 ];then

echo 1

return

fi

let val--

num1=$( fib $val )

let val--

num2=$( fib $val )

let sum=$num1+$num2

echo $sum

}

结果:

[[email protected] test6_19]$ ./fib.sh

1

1

[[email protected] test6_19]$ ./fib.sh

2

2

[[email protected] test6_19]$ ./fib.sh

11

144

字符串截取的应用

#!/bin/bash

read name

str1=""

str2=""

str3=""

str=""

while read line

do

str1=$(echo $line|cut -c 1-3)

str2=$(echo $line|cut -c 4-6 |tr ‘[a-z]‘ ‘[A-Z]‘)

str3=$(echo $line|cut -c 7-9)

str="${str3}""${str2}""${str1}"

echo $str

done file_bak

结果:

[[email protected] test6_19]$ cat file1

123abc789

456def789

364rgy532

278bsy682

[[email protected] test6_19]$ vim string.sh

[[email protected] test6_19]$ ./string.sh

file1

[[email protected] test6_19]$ cat file_bak

789ABC123

789DEF456

532RGY364

682BSY278

时间: 06-19

linux shell编程小程序6,shell脚本应用小程序相关推荐

  1. Linux 串口编程三 使用termios与API进行串口程序开发

    在 termios 结构体以及内部终端控制标志中,并非所有的参数对于实际的物理串口都是有效的,在使用过程中也不需要对于所有标志的作用都有所理解.事实上,快速掌握一项技术的核心点也是一种学习能力.对于使 ...

  2. Linux网络编程:用C语言实现的聊天程序(同步通信)

    通过TCP协议,用C语言实现的同步聊天程序,注释写的比较详细,个人觉得对字符串处理比较充分,能够正常编译运行,拿出来和大家分享一下! 1.客户端源代码: [cpp] view plaincopypri ...

  3. 小苏的Shell编程笔记之二--Shell变量及其相关操作

    1.  Shell中的变量类型 Shell中的变量可以分为环境变量.位置变量.预定义的特殊变量以及用户自定义变量. 2.  环境变量 Shell中的环境变量是一类Shell预定义变量,是用于设置系统运 ...

  4. 【shell编程】1、shell编程简介

    Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...

  5. Shell编程之什么是Shell?

    在计算机科学中,Shell俗称壳(用来区别于核),是指"为使用者提供操作界面"的软件(命令解析器). 它类似于DOS下的command.com和后来的cmd.exe.它接收用户命令 ...

  6. Shell编程之第二讲——shell 的变量

    目录: 定义变量 使用变量 只读变量 删除变量 变量作用域(全局变量,局部变量,环境变量) 一.定义变量 简介: shell中定义变量与python语言类似语法: name=[value]注意事项:1 ...

  7. Linux网络编程篇之ICMP协议分析及ping程序实现

    Linux网络编程系列: Linux网络编程篇之Socket编程预备知识 Linux网络编程篇之TCP协议分析及聊天室功能实现 如果对Linux网络编程,对socket通信不是太清楚的同学,强烈推荐看 ...

  8. Shell编程练习 - 系统一键巡检脚本

    熟能生巧是老话,学习本身就是一种将别人东西拿过来自己能用的过程.能力有限,今天花费大概7个小时将此系统巡检脚本一一测试修正,内容注解均为自身学识认知之文,不敢苟才,希望能给有兴趣者一丁点帮助启发即可. ...

  9. Linux Shell编程(5)——shell特殊字符(下)

    {} 代码块[花括号]. 这个结构也是一组命令代码块,事实上,它是匿名的函数.然而与一个函数所不同的,在代码块里的变量仍然能被脚本后面的代码访问. bash$ { local a; a=123; } ...

  10. Linux Shell编程(4)——shell特殊字符(上)

    在脚本或其他别的地方出现的特殊字符 # 注释. 以一个#开头的行 (#!是例外) 是注释行. # 这是一行注释. 注释也可以出现在一个命令语句的后面. echo "A comment wil ...

最新文章

  1. 【AI】caffe使用步骤(二):设计网络模型prototxt
  2. Codeforces Round #554 (Div. 2) C. Neko does Maths (数论 GCD(a,b) = GCD(a,b-a))
  3. selenium的简单介绍
  4. 【渝粤教育】电大中专建设工程法规1作业 题库
  5. 第一节:别出心裁的HTML5简介
  6. notes java api_如何使用Java来调用Notes API发送邮件(包括附件)
  7. 机器学习基础(二十四)—— Random Forest
  8. 63相似、合同、相抵
  9. 主板定制X86嵌入式器件选型
  10. [Matlab] 二进制蝙蝠算法用于解决背包问题
  11. 华为这个广告,我愿一辈子不买苹果!
  12. 计算机思维对本专业的影响,计算机专业本科生创新思维培养及其哲学思考
  13. Java 首字母转大写,StringUtils.capitalize
  14. 【毕业设计】基于STM32的自动加油站加油系统 -物联网 单片机 嵌入式
  15. html音乐播放器样式,html5扁平化mp3音乐播放器样式代码
  16. MIP 问题解决方案大全(2018-06更新)
  17. 顾往前行,我的前端之路系列(二)
  18. 177则经典名著名句
  19. 黑苹果uhd630黑屏_i7-9700k,UHD630核显,HDMI接口,usb3.0,成功黑苹果!-远景论坛-微软极客社区...
  20. nginx应用总结(1)-- 基础知识和应用配置梳理

热门文章

  1. 判断链表是否存在环 Linked List Cycle
  2. 路由转发采用递归查询
  3. 在PDA设备上安装和部署 SQL Server Compac 3.5(官方版)
  4. 2010-11-23 network virtualization papers(2)
  5. 如何在Hadoop2上远程调试MapReduce
  6. 【DP + 卖股票】LeetCode 714. Best Time to Buy and Sell Stock with Transaction Fee
  7. 【二叉树迭代版前序遍历】LeetCode 144. Binary Tree Preorder Traversal
  8. 【回文串3】LeetCode 125. Valid Palindrome
  9. Pandas csv 文件,按条件删除行
  10. 洛谷P1411 砝码称重