首页 > 其他分享 >学习笔记3

学习笔记3

时间:2023-09-24 17:33:05浏览次数:30  
标签:语句 变量 str2 str1 笔记 学习 sh 执行

程序设计语言必备要素和技能

对于Python、C和Java这三门常见的编程语言,它们都有一些共同的必备要素和技能。

  1. 语法和语义:编程语言的语法和语义是这个语言的基础。这包括了熟悉变量、数据类型、运算符、控制流程等基本语法结构,以及了解编程语言的特性和约束。

  2. 数据结构与算法:了解常见的数据结构和算法对于解决问题和优化代码至关重要。掌握如数组、链表、树、图等数据结构,以及排序、搜索、动态规划等常用算法,能够帮助你提高代码的效率和质量。

  3. 编程范式:熟悉并理解不同的编程范式,如面向对象编程、函数式编程等。掌握不同的设计模式和技巧有助于开发出可靠、可维护的代码。

  4. 调试和故障排除:能够识别和解决常见的编程错误和异常是一项重要的技能。学会使用调试工具和技术,能够追踪和修复代码中的问题。

sh编程

sh是一个解释程序,逐行读取sh脚本文件并直接执行这些行。如果行是可执行命令且为内置命令,那么sh可直接执行。否则,它会复制一个子进程来执行命令,并等待子进程终止后再继续,这与它执行单个命令行完全一样。在sh脚本中,每个变量都是字符串,因此不需要类型。sh脚本不需要main函数,第一个可执行语句是程序的入口点。

  1. 语法语义:
  • 命令行参数:通过位置参数$0、$1、$2等访问命令行参数。10n参数必须称为${10}${n}。通常$0是程序名本身,$1到$n是程序参数。

  • 特殊字符:在sh中特殊字符$表示替换。sh有许多特殊字符,如$、/、*、>、<。要按原样使用它们,必须带有单引号或反引号\。

  • 变量:sh中使用变量存储数据,可以使用等号赋值,例如:name="John"。使用变量时需要在变量名前使用美元符号,例如:echo $name。如果A是一个变量,则$A是变量的值。

  • 输入输出:可以通过read语句接收用户输入,使用echo语句输出文本。
    name="John" # 定义name变量并赋值为John
    age=25 # 定义age变量并赋值为25
    echo "$name is $age years old." # 输出John is 25 years old.

2.sh命令:

sh有许多内置命令,这些命令由 sh执行,不需要创建一个新进程。下面列出一些常用的内置sh命令。

  • .file:读取并执行文件。
  • break[n]:从最近的第n个嵌套套循环中退出。
  • cd[dirname]:更换目录。
  • continue[n]:重启最近的第n个嵌套循环。
  • eval[arg…]:计算一次参数并让sh执行生成的命令。
  • oexec [arg…]:通过这个sh执行命令,sh 将会退出。
  • exit[n]:使sh 退出,退出状态为n。
  • export [var…]:将变量导出到随后执行的命令。
  • read [var …]:从 stdin 中读取一行并为变量赋值。
  • set [arg … ]:在执行环境中设置变量。
  • shift:将位置参数 $2 $3 …. 重命名为 $1 $2 …。
  • trap [arg] [n]:接收到信号n后执行参数。
  • umask [ddd]:将掩码设置为八进制数 ddd 的。
  • wait[pid]:等待进程pid,如果没有给出 pid,则等待所有活动子进程。
  1. sh控制语句:
    条件判断:可以使用if语句进行条件判断,语法为if [ 条件 ]; then ... fi。常见的判断条件包括:
    (1)字符串比较
    等于:=,例如:if [ "$str1" == "$str2" ],表示变量str1的值是否等于变量str2的值。
    不等于:!=,例如:if [ "$str1" != "$str2" ],表示变量str1的值是否不等于变量str2的值。
    小于:<,按照字典顺序比较。例如:if [ "$str1" \< "$str2" ],表示变量str1的值是否在字典中小于变量str2的值。
    大于:>,用于判断一个字符串是否大于另一个字符串(按照字典顺序比较)。例如:if [ "$str1" \> "$str2" ],表示变量str1的值是否在字典中大于变量str2的值。

(2)整数比较
运算符等于-eq、不等于-ne、小于-lt、大于-gt、小于等于-le、大于等于-ge将参数作为整数比较。
(3)需要注意的是,字符串比较时要使用双引号将字符串变量括起来,运算符前后需要有空格,并且在进行小于和大于比较时,需要使用反斜杠(\)进行转义。此外,还可以使用-n来判断字符串是否非空,例如:if [ -n "$str" ],表示变量str是否非空。等。

循环:可以使用for、while等循环语句来实现重复执行一系列操作。
for语句
for VARIABLE in string1 string2 ... stringn
do
commands
done
while语句
while [ condition ]
do
commands
done

4.sh函数
sh函数定义为:
func()
{
# function code
}
必须在任何可执行语句之前定义sh脚本中的所有函数。sh脚本中无法声明函数原型。
sh语句
func s1 s2 ... sn

5.sh调试
sh脚本可由带有 -x选项的子sh运行,以进行调试,如:
bash -x mysh

苏格拉底挑战

针对sh程序苏格拉底挑战



针对学习一门程序设计语言有哪些必备的要素和技能知识点的苏格拉底挑战




标签:语句,变量,str2,str1,笔记,学习,sh,执行
From: https://www.cnblogs.com/wzj1234/p/17726286.html

相关文章

  • SpringCloud微服务学习笔记(一)
    微服务介绍用于开发大型项目时,将所有代码都放在一个项目中会增加压力,而且单体架构的并发数也有限,占用的线程多的时候就不行了。这时就需要用到微服务分布式开发。单体架构(monolithicstructure):顾名思义,整个项目中所有功能模块都在一个工程中开发;项目部署时需要对所有模块一起编......
  • #20211105李宜时《信息安全系统设计与实现》第三周学习总结
    20211105李宜时《信息安全系统设计与实现》第三周学习总结学习不同编程语言的必备要素和技能1.语法和基本结构了解编程语言的语法和基本结构是编程的第一步。这包括变量、数据类型、运算符、条件语句、循环结构等。以下是Python、C和Java中的示例代码片段:Python#定义变量并......
  • Python教程(14)——Python函数的入门学习
    函数是什么?在编程中,函数是一段可重用的代码块,用于完成特定任务或执行特定操作。它可以接输入参数并返回一个值或执行一系列操作。函数可以帮助程序员将代码模块化,提高代码的可读性和可维护性。函数通常包括以下组成部分:函数名:用于标识函数,并可以通过函数名调用执行该函数。参......
  • 《信息安全系统设计与实现》学习笔记3
    第十章sh编程sh脚本sh脚本是一个包含sh语句的文本文件,命令行解释程序sh要执行该语句。创建文件文本mysh,包含:#!/bin/bash#commentlineechohellosh脚本与C程序sh脚本和C程序有一些相似之处,但他们在根本上是不同的。sh是解释程序,逐行读取sh脚本并直接执行这些行,而C......
  • MySQL实战45讲基础篇笔记
    基础架构与查询连接器1、root用户更改普通用户的权限将在下次普通用户重连时生效,即不会影响到当前连接的用户。2、空闲状态的链接经过设置的等待时间后会断开连接,下次使用需要重连。3、长连接和短连接:建立连接的过程比较复杂-->少使用短连接4、长连接使用时间MySQL内存占用......
  • 【监督学习:线性回归和分类】3.分类
    逻辑回归分类问题假设预测的变量y是离散的值,需要使用逻辑回归(LogisticRegression,LR)的算法,实际上它是一种分类算法。二元分类二元分类问题是指y只有两个离散值的情况,例如:垃圾邮件分类:y=1表示是垃圾邮件,y=0表示不是垃圾邮件癌症检测:y=1表示患有癌症,y=0表示没有癌症假说表......
  • 2023 20213423梁锦辉《计算机基础与程序设计》第一周学习总结
    2023-2024-1 20213423  《计算机基础与程序设计》第1周学习总结作业信息:加入云班课,参考学习本周学习资源注册博客园账号,加入2022-2023-1-计算机基础与程序设计参考 基于VirtualBox虚拟机安装Ubuntu图文教程安装Linux系统快速浏览一遍教材计算机科学概论,课本每章......
  • 初章·一个slam小白的学习之路
    个人简介:坐标魔都,攀岩爱好者,大三CS本科生,从小没有竞赛经历,靠高考小宇宙爆发考上了现在的学校(小众院校,不是top但很卷),被一众oi大佬吊打,目前专业排名68%。由于大一和大二GPA太拉报不了三加一,于是决定在学校的实验室多花些时间。大二加入了学校的slam实验室,一脸懵逼地自学了半年的slam......
  • 【Pandas笔记总结】
    【一】Pandos初识Pandas是什么Pandas主要特点Pandas主要优势Pandas内置数据结构Pandas下载与安装【二】PandasSeries入门PandasSeries是什么PandasSeries创建PandasSeries访问PandasSeries常用属性PandasSeries常用方法【三】PandasDataFrame入门P......
  • 20211128李杰《信息安全系统设计与实现》第十章笔记
    一、任务内容自学教材第10章,提交学习笔记(10分) 大家学习过Python,C,Java等语言,总结一下一门程序设计语言有哪些必备的要素和技能?这些要素和技能在shell脚本中是如果呈现出来的? ,评分标准如下 1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行......