shell -- 练习

Shell进阶脚本70个练习 1.数组的基本脚本 #!/bin/bash name[0]="jacob" # 定义一个数组 name[1]="Rose" # 附加数组 name[2]="Rick" # 附加数组 name[3+3]="TinTin" # 追加数组,相当与在第6位追加 echo ${name[0]} # 打印数组第一个内容 echo ${name[1]} # 打印数组第二个内容 echo ${name[6]} # 打印数组第四个内容或e... 阅读详情
练习一:写一个脚本
       1.设定变量FILE的值为/etc/passwd
       2.依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么
        形如:(提示:LINE=`wc -l /etc/passwd | cut -d" " -f1`)
         Hello,root,your UID is 0.
       3.统计一个有多少个用户

     答案一:#!/bin/bash
           file="/etc/passwd"
           LINES=`wc -l $file | cut -d" " -f1`
           for I in `seq 1 $LINES`;do
           userid=`head -$I $file | tail -1 |cut -d: -f3`
           username=`head -$I $file | tail -1 |cut -d: -f1`
           echo "hello $username,your UID is $userid"
           done
           echo "there are $LINES users"
     答案二:#!/bin/bash
           file=/etc/passwd
           let num=0
           for I in `cat $file`;do
           username=`echo "$I" | cut -d: -f1`
           userid=`echo "$I" | cut -d: -f3`
           echo "Hello,$username,your UID is $userid"
           num=$[$num+1]
           done
           echo "there are $num users"
练习二:写一个脚本
      1.切换工作目录至/var
      2.依次向/var目录中的每个文件或子目录问好,形如:
        (提示:for FILE in /var/*;或for FILE in `ls /var`;)
        Hello,log
      3.统计/var目录下共有多个文件,并显示出来

  答案:#!/bin/bash
         cd /var
         let num=0
         for I in `ls /var/*`;do
         echo "hello $I"
         num=$[$num+1]
         done
         echo "the number of files is $num"
练习三:写一个脚本
      1.设定变量file的值为/etc/passwd
      2.使用循环读取文件/etc/passwd的第2,4,6,10,13,15行,并显示其内容
      3.把这些行保存至/tmp/mypasswd文件中

  答案:#!/bin/bash
       file="/etc/passwd"
       for I in 2 4 6 10 13 15;do
       exec 3>/tmp/mypasswd
       line=`head -$I $file | tail -1`
       echo "$line"
       echo "$line" >&3
       exec 3>&-
       done
练习四:写一个脚本
       传递两个整数给脚本,让脚本分别计算并显示这两个整数的和,差,积,商
        答案如下:vim test.sh
                   #!/bin/bash
                    echo "first number $1"  (表示输出第一个数)
                    echo "second number $2" (表示输出第二个数)
                    echo " $(($1+$2))"      (输出两数之和)
                    echo "$[$1-$2]"         (输出两数之差)
                    echo "$[$1*$2]"         (输出两数之积)
                    echo "$[$1/$2]"         (输出两数之商)
                    :wq                    (表示保存并退出vi编辑器)
                    chmod +x test.sh       (给test.sh执行的权限)
                    ./test.sh 2 3          (传递两个参数并执行脚本     
作业一:写一个脚本:
       1.创建目录/tmp/scripts
       2.切换工作目录至此目录中
       3.复制/etc/pam.d目录至当前目录,并重命名为test
       4.将当前目录的test及其里面的文件和子目录的属主改为redhat
       5.将test及其子目录中的文件的其它用户的权限改为没有任何权限
   答案:
       #!/bin/bash
       mkdir -v /tmp/scripts
       cd /tmp/scripts
       cp -r /etc/pam.d ./test
       chown -R redhat ./test
       chmod -R o=--- ./test
作业二:写一个脚本
       1.显示当前系统日期和时间,而后创建目录/tmp/lstest
       2.切换工作目录至/tmp/lstest
       3.创建目录a1d,b56e,6test
       4.创建空文件xy,x2y,732
       5.列出当前目录下以a,x或者6开头的文件或目录
       6.列出当前目录下以字母开头,后跟一个任意数字,而后跟任意长度字符的文件或目录
   答案:
       #!/bin/bash
       date
       mkdir -pv /tmp/lstest
       cd /tmp/lstest
       mkdir a1d b56e 6test
       touch xy x2y 732
       ls [ax6]*
       ls [[:alpha:]][[:digit:]]*
            
作业三:写一个脚本
        添加10个用户user1到user10,但要求只有用户不存在的情况下才能添加

  答案:
       #!/bin/bash
       for I in `seq 1 10`;do
       cut -d: -f1 /etc/passwd |grep "user$I" 2>>/tmp/etc.err || useradd user$I
       done
作业四:写一个脚本
       通过ping命令测试192.168.0.151到192.168.0.254之间的所有主机是否在线
       如果在线,就显示“ip is up”
       如果不在线,就显示“ip is down”

      答案: #!/bin/bash
       for I in `seq 151 254`;do
       ping -c1 -w1 192.168.0.$I &>/dev/null && echo "192.168.0.$I is up" ||        echo "192.168.0.$I is down"
       done
Shell编程练习题及答案(学习记录) 一、Linux下执行Shell脚本的方式: 1、用shell程序执行脚本: a、根据你的shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等 b、程序的第一行#!/bin/bash里面指明了shell类型的,比如#!/bin/bash指明是bash,#!/bin/sh则是sh; c、然后输入命令(其中bash为shell的名称,myshell.sh则为你要执行的代码):ba... 阅读详情

相关推荐

shell 在练习

文章目录1. shell合集2. 练习1. cut sort uniq 命令练习2. test 命令脚本练习2.1 test对于文件的判定:2.2 test对于用户的判断: 1. shell合集 1.shell中常用的基础命令 2. 练习 1. cut sort uniq 命令练习 练习1 显示当前主机中不能登陆的用户(默认不能bash登陆) grep bash -v /etc/passwd | cut -d : -f 1 练习2 1.ifconfig 网卡,可以显示此网卡的信息,显示信息中包

weixin_46074899的博客 577

shell脚本

Shell 和python都是弱语言 1:变量的规则 定义变量规则:变量名=值 shell定义变量的规则: 1:等号两边不能有空格 2:定义特殊的变量需要用单引号或者双引号结合 3:定义linux命令需要用反单引号 区分单引号和双引号的不同和相同点 双引号中有变量名,输出的是变量名对应的变量值单引号中有变量名,输出的是变量名对应的变量值 单引号中有变量名,输出的是变量名对应的变量值单引号中有变量名,输出的是$变量名 2:脚本的命名格式 脚本名称使用.sh结尾 3:脚本的起始行格式 第一行必须写# !/bin

weixin_50808993的博客 746

Shell脚本练习题集合

Shell脚本练习题集合 Shell脚本练习题集合 1. 选择题 2. 填空题 3. 简答题 4. 编程题 5. 企业面试题 1. 选择题 1. 函数内如何设置局部变量() A:local B:export C:source D:funct...

51DevOps-刺天冬 3803

shell脚本经典10题

shell脚本练习题: 文章目录shell脚本练习题:1、从1加到100的和:2、shell脚本自动搭建本地yum仓库:3、shell脚本自动化分区,格式化和挂载:4、shell脚本查看系统信息:5、猜拳游戏(剪刀,石头,布)6、判断成绩:7、猜数字游戏:8、打印九九乘法表:(正序和倒序打印)9、shell脚本批量改文件名:10、查看dd 命令复制磁盘要多久:11、shell脚本自动创建多个用户: 1、从1加到100的和: #!/bin/bash #求1-100的和: sum=0 for i in {1..

生而无畏,战至终章 1万+

Unity插件UniWebView实战:UGUI动态调整内嵌网页尺寸与交互优化

本文详细解析了如何在Unity游戏中使用UniWebView插件实现内嵌网页的动态尺寸适配与深度交互。核心在于利用Reference Rect Transform属性,将网页窗口精准绑定至UGUI控件,并随其动态调整。文章进一步探讨了通过消息系统与JavaScript执行实现Unity与网页的双向通信,并提供了加载优化、过渡动画及事件拦截等实用技巧,助力开发者打造无缝、流畅的游戏内网页体验。

earth的博客 276

Java 开发 修改【冒险岛 079 私服】完整学习流程

第 1-2 天:环境搭建 + 运行原版 079 服务端,能正常登录游戏;第 3-4 天:纯配置文件修改,掌握倍率、属性、怪物、道具的修改,改出第一个「百倍经验私服」;第 5-10 天:Java 代码基础修改,掌握 Player/Skill/Monster 核心类的修改,实现技能无冷却、一刀秒怪、升级满属性;第 11-20 天:Java 代码进阶修改,掌握业务逻辑修改,实现死亡不掉经验、自动捡物、装备强化无失败;第 21-30 天。

萧曳丶 3888

shell脚本入门练习(非常详细)零基础入门到精通,收藏这一篇就够了

linux系统的rm命令太危险,一不小心就会删除掉系统文件。写一个shell脚本来替换系统的rm命令,要求当删除一个文件或者目录时,都要做一个备份,然后再删除。

Python_paipai的博客 3355

国内9大Coding Plan平台实测:CI/CD延迟与开发者体验横评

代码托管平台不仅是Git仓库,更是现代研发流程的‘生产力基建’核心。其底层能力涵盖Git协议优化、CI/CD调度实时性、制品库并发吞吐及RBAC权限收敛效率等关键维度。尤其在团队规模扩张、日均提交激增、多环境高频部署场景下,Webhook延迟、CI排队耗时、制品上传卡顿等应用层性能指标,远比网络层ping值更能决定开发效能。本文基于真实微服务项目(32模块、8.7万行/仓)与三类极端负载(长尾构建、热区冲突、制品洪峰),对国内9个满足Coding Plan标准的平台开展端到端压测,聚焦CI/CD延迟与开发者

weixin_29281941的博客 367

shell脚本编程的练习

while的语法结构注意:while循环必须有推出条件,否则会死循环案例一:计算100以内的和案例二:求100以内偶数的和案例3:监控tom是否登录系统,如果登录系统,向另一个终端发信息while处理文件while read line (line为变量命名)do循环体案例4:重复提示用户输入字符串,无论输入什么字符串,都转换成小写,并显示,如果用户输入quit就退出案例5:1.显示一个菜单给用户 d|D)show disk usages;

2401_83693610的博客 1735

Matlab/simulink频率响应分析方法

Matlab/Simulink仿真系列问题一.电气模块与信号模块 一.电气模块与信号模块

virtuoso~晓晓 3万+

贝叶斯(Bayes)决策理论

在博文【模式识别PR和模式的概念】介绍了相关的模式识别与模式的概念。在本节描述所要讨论的问题之前,再提一下对于待识别的物理对象的描述问题。假设一个待识别的物理对象用其d个属性观察值描述,称之为d个特征,这组成一个d维的特征向量,而这d维待征所有可能的取值范围则组成了一个d维的特征空间。一般地,机器实现自动分类有两大类方法:一种是模板匹配方法,另一种是对特征空间划分为子空间(每类的势力范围)的方法。

松子茶的专栏 3万+

shell脚本基础练习

一共添加 30 个账号,名称如:test01、test02、...、test10、....test30。网段由用户输入,例如用户输入192.168.2 ,则ping 192.168.2.10 --- 192.168.2.20。通过变量 RANDOM 来获取随机的价格,然后提示用户猜价格,并记录次数,猜中退出,或次数达到 5 也退出。见,你可以假设:wordcount.txt只包括小写字母和空格,每个单词只由小写字母组成,单词间由一个或。说明:不要担心个数相同的单词的排序问题,每个单词出现的个数都是唯一的。

a17783481239的博客 2488

手把手入门YOLO到改进优化教程 | 【P6进阶篇】YOLOv8模型剪枝优化实战-LAMP剪枝

本节首先介绍LAMP剪枝相关理论。然后结合YOLO框架,手把手搭建剪枝工程,包括配置文件修改、剪枝脚本构建等内容。

嵌入式阿齐Archie 2万+

Linux-shell实例练习

Linux shell基本实例操作手册,覆盖各种shell常见场景

加油站发光博主 1438

基于深度学习的三维重建算法——详解与实现

随着深度学习技术的迅猛发展,基于深度学习的三维重建算法在最近几年取得了显著的进展。而基于深度学习的三维重建算法通过利用深度神经网络,能够从大规模数据中学习到更准确、鲁棒的三维结构表示。本文综述了基于深度学习的三维重建算法,并给出了相应的源代码。随着深度学习技术的不断发展,我们相信基于深度学习的三维重建算法将会在未来得到更广泛的应用。实验结果表明,基于深度学习的三维重建算法在准确性和鲁棒性方面取得了显著的提升。以上是关于基于深度学习的三维重建算法的详细介绍与实现,希望对您有所帮助。

CyberGenius的博客 1227

uniapp - 最新实现hbuilder项目运行到ios基座或苹果ios真机设备详细教程,如何在ios苹果手机上真机运行测试,IOS自定义基座在线打包调试(uniapp项目如何在苹果手机上运行调试)

uni-app,苹果,app,ios,设备,自定义基座,运行app到苹果手机,mac电脑,Xcode,hbuilderX,运行ios基座调试Uniapp,无需打包,苹果证书,ipa,运行失败,报错,无法启动,连接失败,出错,详细教程,如何解决这个问题,怎么办,申请iOS证书,运行项目到iOS基座,打包ios自定义基座,在iOS真机上运行,新手小白,超级详细的教程,dcloud如何苹果ios系统真机测试,调试基座失败,真机调试ios app,App基座安装后无法打开问题,真机运行时检测不到手机的问题或者基座安

✅ 精选推荐文章 1万+

shell编程题目练习集

shell编程题目练习集 【下载地址】shell编程题目练习集 这是一个专为shell编程学习者设计的练习集,适合初学者和进阶者。仓库提供了一系列从基础到进阶的编程题目,紧密结合实际工作场景,帮助用户通过实践掌握shell脚本的核心技能。每个题目均配有示例解答,用户可以在本地环境中编写脚本,完成任务后与参考解答对比,提升...

gitblog_06757的博客 812

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

shell脚本小练习

shell脚本小练习1.整数的四则运算代码如下:运行截图:2.输入一个分数,返回其等级代码如下:运行截图:3.截取出/etc/passwd文件里面所有的用户名,然后输出hello,用户名代码如下:运行截图:4.扫描局域网内有哪些服务器开放了80和3306端口代码如下:运行截图:5.扫描出局域网内正在使用的ip地址代码如下:运行截图:6.批量生成用户密码,用户名由用户自己输入代码如下:运行截图:7.监控内存的使用代码如下:运行截图: 在外面报了培训班,老师布置了几个小作业,发上来记录作业的内容,避免手误删掉了

sfakh的博客 498

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

shell练习

(1)如果用户输入的文件为空时显示:you must input a filename,并中断程序;(2)如果用户输入的文件不存在时,显示the file do not exist,并中断程序;说明:由于root在很多权限的限制上面都是无效的,所以使用root执行这个脚本时,练习3:将第二章变量与运算符中字符串相关的练习都练习一遍,并将结果上传到小鹅通平台。(3)如果文件存在,判断该文件的文件类型和执行者对该文件所拥有的的权限。练习1:计算用户输入的任意两个整数的和、差、乘、商、余数。

2401_88035231的博客 176

linux shell 脚本练习,shell脚本小练习

shell脚本小练习说明:最近写了一些简单的小脚本,用到了一些逻辑判断语句。个人感觉挺好玩的,拿来跟大家分享下。同时也会做一些解释说明脚本代码可能还有待优化,如果有冗余或者错误的地方还请批评指正。目录:1.1 if语句1.1.1示例1.2 case语句1.2.1示例循环语句2.1 for语句2.1.1 for语句一2.1.2for语句二2.1.3示例2.2 while语句2.2.1示例2.3 un...

weixin_42351102的博客 294

Shell练习

1. 练习:使用shell脚本,输出当前所在的目录 #!/bin/bash dir=pwd echo $dir 输出结果 2. 练习:计算/etc目录下有多少个文件,用shell脚本实现 ls|wc -l 改进:实现统计任何指定目录下的文件个数 read #!/bin/bash cd /etc dir=ls |wc -l echo $dir 输出结果: 改进: #!/bin/bash read dir cd $dir dirs=ls |wc -l echo $dirs 添加了个read输入文件目录

m0_50560420的博客 532

SHELL时分秒倒计时小脚本练习及其他的一些小练习

SHELL时分秒倒计时小脚本练习 6 read -p "please input time:" TIME 7 HOUR=`echo $TIME | awk -F : '{print $1}'` 8 MIN=`echo $TIME | awk -F : '{print $2}'` 9 SEC=`echo $TIME | awk -F : '{print $3}'` 10 if [ -z $TIME ] 11 then 12 echo "error:please input

tst8023ryq的博客 335

shell脚本练习1

【代码】shell脚本练习1

m0_74028286的博客 362

shell练习题

2401_87380677的博客 428

shell 脚本练习

定义:变量名称=值变量名称:只能以字母,数字,下划线组成,不能以数字开头;注意:应该让变量名称有意义;= 赋值符号 前后不能有空格;值: 所有的字符串和数字都可以;引用变量:$变量名 或者 ${ 变量名 }示例:100# 这里输出为空,因为解释器认为$aa是变量100a查看变量:echo $变量名set(所有变量:包括自定义变量和环境变量)取消变量:unset 变量名 仅在当前shell有效作用范围:仅在当前shell有效。

weixin_63223249的博客 1059
上一篇: linux (centOS) 网络链接配置(windows10)
下一篇: SpringMVC的@RequestMapping,@Responsebody区别
满地节操1
博客等级 码龄10年 12粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值