linux shell编程小程序6,shell脚本应用小程序
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脚本应用小程序相关推荐
- Linux 串口编程三 使用termios与API进行串口程序开发
在 termios 结构体以及内部终端控制标志中,并非所有的参数对于实际的物理串口都是有效的,在使用过程中也不需要对于所有标志的作用都有所理解.事实上,快速掌握一项技术的核心点也是一种学习能力.对于使 ...
- Linux网络编程:用C语言实现的聊天程序(同步通信)
通过TCP协议,用C语言实现的同步聊天程序,注释写的比较详细,个人觉得对字符串处理比较充分,能够正常编译运行,拿出来和大家分享一下! 1.客户端源代码: [cpp] view plaincopypri ...
- 小苏的Shell编程笔记之二--Shell变量及其相关操作
1. Shell中的变量类型 Shell中的变量可以分为环境变量.位置变量.预定义的特殊变量以及用户自定义变量. 2. 环境变量 Shell中的环境变量是一类Shell预定义变量,是用于设置系统运 ...
- 【shell编程】1、shell编程简介
Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命令语言,它交互式地解释 ...
- Shell编程之什么是Shell?
在计算机科学中,Shell俗称壳(用来区别于核),是指"为使用者提供操作界面"的软件(命令解析器). 它类似于DOS下的command.com和后来的cmd.exe.它接收用户命令 ...
- Shell编程之第二讲——shell 的变量
目录: 定义变量 使用变量 只读变量 删除变量 变量作用域(全局变量,局部变量,环境变量) 一.定义变量 简介: shell中定义变量与python语言类似语法: name=[value]注意事项:1 ...
- Linux网络编程篇之ICMP协议分析及ping程序实现
Linux网络编程系列: Linux网络编程篇之Socket编程预备知识 Linux网络编程篇之TCP协议分析及聊天室功能实现 如果对Linux网络编程,对socket通信不是太清楚的同学,强烈推荐看 ...
- Shell编程练习 - 系统一键巡检脚本
熟能生巧是老话,学习本身就是一种将别人东西拿过来自己能用的过程.能力有限,今天花费大概7个小时将此系统巡检脚本一一测试修正,内容注解均为自身学识认知之文,不敢苟才,希望能给有兴趣者一丁点帮助启发即可. ...
- Linux Shell编程(5)——shell特殊字符(下)
{} 代码块[花括号]. 这个结构也是一组命令代码块,事实上,它是匿名的函数.然而与一个函数所不同的,在代码块里的变量仍然能被脚本后面的代码访问. bash$ { local a; a=123; } ...
- Linux Shell编程(4)——shell特殊字符(上)
在脚本或其他别的地方出现的特殊字符 # 注释. 以一个#开头的行 (#!是例外) 是注释行. # 这是一行注释. 注释也可以出现在一个命令语句的后面. echo "A comment wil ...
最新文章
- 【AI】caffe使用步骤(二):设计网络模型prototxt
- Codeforces Round #554 (Div. 2) C. Neko does Maths (数论 GCD(a,b) = GCD(a,b-a))
- selenium的简单介绍
- 【渝粤教育】电大中专建设工程法规1作业 题库
- 第一节:别出心裁的HTML5简介
- notes java api_如何使用Java来调用Notes API发送邮件(包括附件)
- 机器学习基础(二十四)—— Random Forest
- 63相似、合同、相抵
- 主板定制X86嵌入式器件选型
- [Matlab] 二进制蝙蝠算法用于解决背包问题
- 华为这个广告,我愿一辈子不买苹果!
- 计算机思维对本专业的影响,计算机专业本科生创新思维培养及其哲学思考
- Java 首字母转大写,StringUtils.capitalize
- 【毕业设计】基于STM32的自动加油站加油系统 -物联网 单片机 嵌入式
- html音乐播放器样式,html5扁平化mp3音乐播放器样式代码
- MIP 问题解决方案大全(2018-06更新)
- 顾往前行,我的前端之路系列(二)
- 177则经典名著名句
- 黑苹果uhd630黑屏_i7-9700k,UHD630核显,HDMI接口,usb3.0,成功黑苹果!-远景论坛-微软极客社区...
- nginx应用总结(1)-- 基础知识和应用配置梳理
热门文章
- 判断链表是否存在环 Linked List Cycle
- 路由转发采用递归查询
- 在PDA设备上安装和部署 SQL Server Compac 3.5(官方版)
- 2010-11-23 network virtualization papers(2)
- 如何在Hadoop2上远程调试MapReduce
- 【DP + 卖股票】LeetCode 714. Best Time to Buy and Sell Stock with Transaction Fee
- 【二叉树迭代版前序遍历】LeetCode 144. Binary Tree Preorder Traversal
- 【回文串3】LeetCode 125. Valid Palindrome
- Pandas csv 文件,按条件删除行
- 洛谷P1411 砝码称重