当前位置:首页 » 《休闲阅读》 » 正文

头歌Linux——shell脚本入门——变量、字符串 练习一

23 人参与  2024年05月05日 13:01  分类 : 《休闲阅读》  评论

点击全文阅读


第1关:Hello EduCoder !

任务描述

本关任务:欢迎来到shell 脚本世界,为了见证shell脚本的神奇,本小节带领大家写第一个shell脚本,希望脚本能够在右侧的命令行窗口中输出hello EduCoder

接下来让我们一起去开启shell脚本的快乐之旅吧!

相关知识

Shell是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。为了更好地学习shell编程,您需要对linux 系统命令有一定的了解,熟悉常用的命令,如:vim、echo、chmod等。

shell 语言编写的程序通常都非常轻巧,比如我想编写一个在屏幕上显示Hello World !程序:

 #!/bin/bashecho "Hello World !" 

说明:#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 shellecho 命令用于向窗口输出文本内容。

Shell 脚本的运行通常有两种方法: 1、作为可执行程序运行

 chmod +x ./test.sh #使脚本具有执行权限./test.sh #执行脚本 

注意:一定要写成 ./test.sh,而不是 test.sh./的作用其实就是告诉系统就在当前目录查找,否则系统会去PATH路径中查找有没有test.sh的文件,而系统默认情况下只有 /bin, /sbin, /usr/bin/usr/sbin 等在 PATH 中,很难找到。

2、作为解释器参数运行,这种运行方式是直接运行解释器,其参数就是 shell 脚本的文件名,如:

 /bin/sh test.sh 

这种方式运行的脚本,不需要在第一行指定解释器信息。

编程要求

请按照要求,完成以下实践内容。 1、在/opt/目录下创建第一个shell脚本 文件命名为 test.sh; 2、编写test.sh脚本,让其输出Hello EduCoder(通过 vim 编辑器编辑); 3、给/opt/test.sh赋予执行权限; 4、运行test.sh文件。

测试说明

编写完脚本之后,点击测评,这里点击评测按钮及等于在 linux 终端执行cd /opt ; ./opt/test.sh命令,因此要注意执行权限的赋值 平台会对你编写的代码进行测试,当你的结果与预期输出一致时,即为通过。


开始你的任务吧,祝你成功!

#####请按照要求,完成以下实践内容#####  打开右边的命令行,进入命令行  按以下要求编写第一个脚本/opt/test.sh:  cd /opt/  1.在/opt/目录下创建第一个shell脚本 文件命名为 test.sh;  vim /opt/test.sh  2.编写test.sh脚本,让其输出Hello EduCoder(通过vim编辑器编辑);  #! /bin/bash   echo "Hello EduCoder"  3.给/opt/test.sh赋予执行权限;  chmod +x ./test.sh  4.点击“评测”按钮; (点击“评测”按钮 执行的操作相当于执行了  cd /opt/; ./test.sh)

第2关:shell变量

#####请按照要求,完成以下实践内容#####打开右边的命令行,进入命令行按以下要求编写第二个脚本/opt/test2.sh:1.创建 一个脚本 /opt/test2.sh , 已知向 /opt/test.sh 传递参数 "www"  "educoder" "net" 三个字符串。2. /opt/test.sh 需要实现如下功能:输出传递的参数的个数并且输出第一个参数比如: 向 /opt/test2.sh传递 是"a" "b" "c" "d",则执行bash /opt/test2.sh a b c d 输出的结果应该是 4 a ,"4"为参数的个数;"a"为第一个参数3.编写完脚本之后 点击“评测”按钮; (点击“评测”按钮 执行的操作相当于执行了  cd /opt/; ./test2.sh)

第3关:shell 字符串

#!/bin/bashstring1="Hello www.educoder.net, hello linux! hello Shell ,Hello CNCF,hello Kubernetes,redis"#********* Begin *********###1、str1 为 替换string1中第一次出现的 "Hello"为"hello"后的字符串str1=${string1/Hello/hello}##2、str2 为 替换string1中所有的"Hello"为"hello"后的字符串str2=${string1//Hello/hello}##3、str3 为 删除string1中的字符串"Kubernetes,"后的字符串str3=${string1/Kubernetes,/}##4、变量letnth为字符串string1的长度,判断string1长度 完成如下代码:##如果超过50则输出 "Length over 50" 如果小于等于50则输出"Length less than 50 "lenth=${#string1}if [ $lenth -gt 50 ]; then        echo "Length over 50"else        echo "Length less than 50"fi#*********  End  *********#echo $str1echo $str2echo $str3


点击全文阅读


本文链接:http://zhangshiyu.com/post/103827.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1