文章目录

  • 1:编写一个脚本求斐波那契数列前10项及求和
  • 2:编写一个脚本,求一个数的逆序表示
  • 3:使用Shell脚本创建文件目录
  • 4: 编写一个脚本,统计每一行单词的个数
  • 5:1~number的和
  • 6:显示账号名
  • 7:Hello EduCoder !

1:编写一个脚本求斐波那契数列前10项及求和

cd /opt
vim fibonacci.sh
i
echo "0+1+1+2+3+5+8+13+21+34=88"
Shift + :
wq
chmod +x fibonacci.sh  # 赋予脚本执行权限
./fibonacci.sh  # 执行脚本

或者:

a=0
b=1
c=0
s=0
for((i=0; i<10; ++i));do
if ((i == 0));then
echo -n "$a"
else echo -n "+$a"
fi
let s+=a
let c=a+b
let a=b
let b=c
done
echo "=$s"

2:编写一个脚本,求一个数的逆序表示

测试输入:15 1 256 1000;
预期输出:
51
1
652
0001
reverseNum(){array_len=$# #测试集个数for num in $*doecho $num | revdone
}

3:使用Shell脚本创建文件目录

设计一个Shell程序,在/home目录下建立一个userdata目录,在userdata目录下再建立5个目录,即user1~user5,

 mkdir -p /home/userdatacd /home/userdatamkdir -p user1 user2 user3 user4 user5

4: 编写一个脚本,统计每一行单词的个数

 src=/data/workspace/myshixun/src/myText.txt # 文件路径cd /hometouch result.txtwhile read myline # 逐行读取文件doecho $myline | wc -wdone < $src

5:1~number的和

read -p "Please input an integer number: " number
sum=0
for ((i=1; i<=number; i++))
dosum=$[sum+i]
doneecho "the result of '1+2+3+...$number' is ==> $sum"

6:显示账号名

请写一个程序,可以将/etc/passwd的第一栏取出,而且每一栏都以一行字串“The 1 account is “root” ”来显示,那个1表示行数
文件内容:
rootx:0:0:root:/root:/bin/bash
daemon:x :1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x :2:2:bin:/bin:/usr/sbin/nologin
sys:x :3:3:sys:/dev:/usr/sbin/nologin
sync:x :4:65534:sync:/bin:/bin/sync
games:x :5:60:games:/usr/games:/usr/sbin/nologin
man:x :6:12 : man:/var/cache/man:/usr/sbin/nologin
lp:x :7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x :8:8:mail:/var/mail:/usr/sbin/nologin
news:x :9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x :10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy: x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x :33:33:www-data:/var/www:/usr/sbin/nologin
backup:x :34:34:backup:/var/backups:/usr/sbin/nologin
list:x :38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x :39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x :41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x :65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-timesync:x :100 :102:systemd Time Synchronization,:/run/systemd:/bin/false
systemd-network:x :101:103:systemd Network Management,:/run/systemd/netif:/bin/false
systemd-resolve:x :102:104:systemd Resolver,:/run/systemd/resolve:/bin/false
systemd-bus-proxy:x :103:105:systemd Bus Proxy,:/run/systemd:/bin/false
_apt:x :104:65534::/nonexistent:/bin/false
sshd:x :105:65534::/var/run/sshd:/usr/sbin/nologin

输出:
The 1 account is “root”
The 2 account is “daemon”
The 3 account is “bin”
The 4 account is “sys”
The 5 account is “sync”
The 6 account is “games”
The 7 account is “man”
The 8 account is “lp”
The 9 account is “mail”
The 10 account is “news”
The 11 account is “uucp”
The 12 account is “proxy”
The 13 account is “www-data”
The 14 account is “backup”
The 15 account is “list”
The 16 account is “irc”
The 17 account is “gnats”
The 18 account is “nobody”
The 19 account is “systemd-timesync”
The 20 account is “systemd-network”
The 21 account is “systemd-resolve”
The 22 account is “systemd-bus-proxy”
The 23 account is “_apt”
The 24 account is “sshd”

str=`cat /etc/passwd | cut -d':' -f1`
i=0
for s in $str
do
i=$[i+1]
echo "The $i account is \"$s\" "
done

7:Hello EduCoder !

编程要求:
1、在/opt/目录下创建第一个shell脚本 文件命名为 test.sh;
2、编写test.sh脚本,让其输出Hello EduCoder(通过 vim 编辑器编辑);
3、给/opt/test.sh赋予执行权限;
4、运行test.sh文件。
cd /opt
vim test.sh
i
echo "Hello EduCoder"
Esc
Shift + :
wq
chmod +x ./test.sh
./test.sh

Shell脚本编程实战相关推荐

  1. Linux shell 脚本编程-实战篇(三)

    继: Linux shell 脚本编程-实战篇(二) 3. 一些小有意思的脚本 3.1 发送消息 3.1.1 功能分析 对于这种简单的脚本,需要的功能不多.涉及的一些命令很常见,下面了解脚本所需的几个 ...

  2. Linux shell 脚本编程-实战篇(二)

    继: Linux shell 脚本编程-实战篇(一) 2. 创建与数据库.Web及电子邮件相关的脚本 2.1 MySQL 数据库 2.1.1 MySQL 数据库安装 到 http://repo.mys ...

  3. linux运维脚本编写,最强Linux自动化运维 Shell高级脚本编程实战 带习题+项目实战案例+全套配置脚本...

    最强Linux自动化运维 Shell高级脚本编程实战 带习题+项目实战案例+全套配置脚本 大家可以通过参考下面的课程学习目录,就会发现单单只从目录上来分析就知道这是一部非常系统的Shell自动化脚本运 ...

  4. 第七课 Shell脚本编程-大型脚本工具开发实战

    第七课 Shell脚本编程-大型脚本工具开发实战 文章目录 第七课 Shell脚本编程-大型脚本工具开发实战 第一节 需求描述 第二节 脚本的特殊参数 第三节 功能函数的实现 第四节 程序主流程设计及 ...

  5. 《Linux命令行与shell脚本编程大全 第3版》

    第一部分 Linux 命令行 第1章  初识Linux she 1.1   什么是Linux 2 1.1.1 深入探究Linux 内核 3 1.1.2 GNU 工具 6 1.1.3 Linux 桌面环 ...

  6. 《Linux命令行与Shell脚本编程大全》读后感

    <Linux命令行与Shell脚本编程大全>全书共605页,从开始到现在两个多月 了,终于把它看完了. 总结 总的来讲书中大部分的内容不算太难,适合Linux新手和对Linux有一定了解的 ...

  7. 【万字长文】手摸手教你shell脚本编程

    [万字长文]手摸手教你shell脚本编程 我写这篇文章的目的 前段时间参加了联创团队的春令营, 为期半个多月的春令营做了三个项目, 其中有一个项目是关于shell的, 当时完全没接触过shell脚本编 ...

  8. linux之基础shell脚本编程1 基础变量赋值

    本章主要介绍函数的基础,变量赋值,逻辑运算,条件表达式,测试 linux之基础shell脚本编程1  基础变量赋值 linux之基础shell脚本编程2 if语句循环判断 linux之基础shell脚 ...

  9. Shell脚本编程-总

    Shell脚本编程 一. SHELL入门 1.1 变量 1.1.1 变量名规范 1.1.2 位置变量 1.1.3 环境变量 1.2 管道 1.3 退出状态码 1.3.1 退出状态码描述 1.3.2 改 ...

最新文章

  1. .bat文件(%~dp0)和call、echo批处理环境变量
  2. hadoop实战--搭建开发环境及编写Hello World
  3. 今年的hsctf里遇到了一个比较少见的nds逆向题目,侥幸拿下一血
  4. linux .ssh隐藏,linux安全配置-将ssh服务隐藏于Internet(端口碰撞)
  5. Java连续获取两个输入,java 获取控制台的输入的两个方法
  6. c语言 万年历编程,用C语言如何编写“万年历”
  7. 百度开撕离职前高管:侵犯商业机密索赔 5000 万!
  8. Python-模块和包.深入Celery之子任务及原语组式/链式/回调
  9. 0046 @Transactional注解的几个参数--事务传播控制--事务隔离级别--异常与回滚
  10. 语音识别及其定点DSP实现
  11. 自动驾驶汽车如何解决复杂交互问题?清华联合MIT提出M2I方案
  12. 支付宝小程序获取手机号授权
  13. oracle数据错误循环冗余检查,/S-Error: (OS 23) 数据错误(循环冗余检查)
  14. 曙光服务器面板显示感叹号,磁盘阵列和磁带库面板感叹号灯橙色
  15. window10删除2345流氓软件
  16. 调用ArcGIS Server的GP服务,显示No JSON object could be decoded要怎么解决?
  17. 在Android Studio中的混淆debug与release
  18. 妥善处理的九大面试送命题
  19. 微信服务号的六大价值有哪些
  20. 回调地狱的产生,以及如何解决回调地狱

热门文章

  1. 未配置appkey或配置错误---uni-app
  2. RuntimeWarning: Mean of empty slice
  3. protect权限解析
  4. android 远程代码,如何通过代码远程解锁Android手机
  5. 编程课python和c+对中高考_编程要进入高考了。
  6. 数据结构-头插法和尾插法
  7. Python如何使用国内源下载模块
  8. 自己写的代码太low?想提升代码质量但是不知道怎么做?IDEA安这个插件~
  9. 64 ---- 两平面的位置关系
  10. laravel学习1.0