首页 > 其他分享 >第十章学习笔记

第十章学习笔记

时间:2023-09-24 21:56:20浏览次数:37  
标签:语句 脚本 变量 第十章 笔记 学习 命令 sh 执行

一、学习笔记(sh编程)

  • sh脚本

sh脚本 (Bourne 1982;Forouzan和Gilberg 2003)是一个包含 sh语句的文本文件,命 令解释程序 sh要执行该语句。sh脚本的第一行通常以#!组合开始,通 常称为shebang。 当主sh见到shebang时,会读取脚本所针对的程序名并调用该程序。 sh 有 许多不同的版本,例如Linux 的 bash、BSD Unix的csh和IBM  AIX的ksh等。所有sh程 序基本上都执行相同的任务,但它们的脚本在语法上略有不同。

  • sh脚本与C程序

首先,sh是一个解释程序,逐行读取sh脚本文件并直接执行这些行。如果行是可执行 命令且为内置命令,那么sh 可直接执行。否则,它会复刻一个子进程来执行命令,并等待子进程终止后再继续,这与它执行单个命令行完全一样。相反,C 程序必须先编译链接到一 个二进制可执行文件,然后通过主sh 的子进程运行二进制可执行文件。其次,在C 程序中,每个变量必须有一个类型,例如 char、int、float、派生类型(如 struct)等。相反,在sh 脚 本中,每个变量都是字符串。因此不需要类型,因为只有一种类型,即字符串。最后,每个  C 程序必须有一个main()函数,每个函数必须定义一个返回值类型和参数(如有)。相反, sh脚本不需要main 函数。在sh 脚本中,第一个可执行语句是程序的入口点。

  • 命令行参数

可使用与运行sh 命令完全相同的参数调用 sh脚本

  • sh变量

除了内置变量外,用户还可使用任何符号作为 sh变量。不需要声明。所有的sh变量值都是字符串。未赋值的sh变量是 NULL 字符串。

  • sh命令

● .file:  读取并执行文件。

· break [n]: 从最近的第n 个嵌套循环中退出。

· cd [dirname]: 更换目录。

· continue [n]: 重启最近的第n 个嵌套循环。

· eval[arg…]: 计算一次参数并让sh执行生成的命令。

  • ·exec[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, 则等待所有活动子进程。

read 命令:当sh执行read命令时,它会等待来自stdin的输入行。它将输入行划分为 几个标记,分配给列出的变量。

sh可以执行所有的Linux命令。

  • sh控制语句

if-else-fi语句;

for语句;

while 语句;

until-do 语句;

case 语句;

continue 和 break 语句;

  • sh函数

 

 下

  • sh中的通配符

星号通配符: sh 中最有用的通配符是*,可扩展到当前目录中的所有文件。

 sh表达:

 

 

 

标签:语句,脚本,变量,第十章,笔记,学习,命令,sh,执行
From: https://www.cnblogs.com/adbl/p/17726767.html

相关文章

  • 第三周学习笔记
     ......
  • 20211301 学习笔记3
    20211301《Unix/Linux系统编程》学习笔记3学习目标总结一下一门程序设计语言有哪些必备的要素和技能?这些要素和技能在shell脚本中是如果呈现出来的?教材知识总结10.1sh脚本定义:sh脚本是一个包含sh语句的文本文件、命令解释程序sh要执行该语句sh:sh是解释程序,逐行......
  • 编程笔记·开篇
    2023年9月,经过一夜的辗转难眠,最后在一个清晨,我坐上了久违的地铁......
  • 学习笔记3
    一门程序设计语言必备的要素和技能一门程序设计语言具有一些共同的要素和技能,无论是Python、C还是Java,以下是其中一些必备的要素和技能:语法:了解语言的基本语法规则,包括变量、数据类型、运算符、控制流语句(如条件语句和循环语句)、函数、类等。数据结构:掌握常见的数据结构,如......
  • 20230924学习总结
    1、DataGrip连接hive数据库DataGrip是JetBrains旗下的一款数据库管理软件,通过它能更方便的操作虚拟机中的hive数据库 依次点击+ ->数据源->ApacheHive进入配置链接界面 主机处填虚拟地址,用户密码填虚拟机账号密码(配置无误情况下仍可能连接失败,等候几分钟重试即可)2......
  • Java语法学习——运算符
    一、基本的算术运算符、+符号做连接符1.基本的算术运算符   为了掌握基本的算术运算符的使用,我们在IDEA里新建一个package(it.com.operator),然后在这下面新建一个Javaclass(OperatorDemo1):packageit.com.operator;publicclassOperatorDemo1{publicstaticvoid......
  • 学习笔记3 第十章的自学归纳
    第十章sh编程10.1sh脚本1.可执行性:Shell脚本需要设置可执行权限,使用chmod+xscript.sh命令添加执行权限,然后可以通过./script.sh执行脚本。2.解释器指定:在脚本的第一行使用#!/bin/sh或#!/bin/bash来指定解释器。sh是BourneShell的标准解释器,而bash是Bourne......
  • 学习笔记3
    第10章sh编程——教材知识点归纳这一章课本为我们介绍的是sh编程内容,sh是一种脚本,是一种可以实现在linux中批量执行命令的文件。10.1~10.2sh脚本、sh脚本和C程序sh是Linux下进行批处理的脚本,我觉得它类似于windows下的bat脚本。可见sh脚本的逻辑和C语言等程序设计语言有很多......
  • Service mesh 学习02 Istio基础
    一、Istio架构概述1.Pilot提供服务发现和路由规则2.Mixer策略控制:服务调用限流3.citadel安全作用,可以保证服务间的通信安全4.Enovy代理:处理服务的流量二、自动注入sidecar-injector:会修改应用程序的描述信息,注入sidecar描述信息:创建pod的yaml文件三、流量拦截根据iptables路由规......
  • C语言学习记录---函数4
    汉诺塔问题(递归)#include<stdio.h>//定义汉诺塔函数voidhanoi(intn,charA,charB,charC){if(n==1){printf("将盘子从%c移动到%c\n",A,C);}else{//将n-1个盘子从A移动到Bhanoi(n-1,A,C,B);//将第n个盘子从......