sell 基 础

(1)shell可以理解为软件系统提供给用户操作的命令行界面,可以说它是人机交互的一种方式。
(2)我们可以使用shell和操作系统、ubunt等软件系统进行交互。具体来说就是我们通过shell给软件系统输入命令
然后回车执行,执行完成后又会回到shell命令行可以再次输入命令执行。
(3)上述操作方式一般情况下工作很好,但有缺陷。譬如我们要在linux下创建一个文件a.c,可以touch a.c。但是如果我们要在
linux下创建100个文件,分别为a1.c a2.c …a100.c如果这时候还是手工命令行下执行命令创建也可以,但很累。最好的办法
就是把创建过程写成一个shell脚本程序,然后去执行这个shell脚本程序,执行这个程序的效果和手工在命令行输入那些命令效果一样的。

2、shell是一类编程语言(而不是一个语言)linux中以bash为主。
3、脚本语言一般在嵌入式中应用,主要是用来做配置。(一个复杂的嵌入式程序都可配置的,配置的目的是使代码支持多种开发板)
配置过程就是用脚本语言来实现。

4、shell脚本的运行机制:解释运行
(1)C语言主(C++)这种编写过程是:编写出源代码(源代码是不能直接运行的)然后编译链接形成可执行二进制程序,然后才能运行;
而脚本程序不同,脚本程序编写好后源代码即可直接运行(没有编译链接过程)
(2)shell程序是解释运行的,所谓解释运行就是说当我们执行一个shell程序时,shell解析器会逐行的解释shell程序代码,然后一行
一行的去执行。(顺序结构)
(3)CPU实际只认识二进制代码,根本不认识源代码。脚本程序源代码其实也不是二进制代码,CPU也不认识也不能直接执行。只不过脚本程序
的编译链接过程不是以脚本程序源代码为单位进行的,而是在脚本运行过程中逐行的解释执行时才去完成脚本程序源代码转二进制的过程
(不一定是编译链接,因为这行脚本程序可能早就编译连接好了,这里我们只是调用它)

二、动手写第一个shell
2.1、编辑器、编译器、运行方法(脚本的3种执行方法)
(1)shell程序是文本格式的,只要是文本编辑器都可以。但是因为我们的shell是要在linux系统下运行的,所以换行符必须是‘\n’,而windows
下的换行符是“\r\n”,因此windows中的编辑器写的shell不能在linux下运行。所以我们整个课程都是在linux下使用vi编辑器进行编写和调试。
(2)编辑器不涉及,因为shell是解释性语言,直接编辑完就可以运行。
(3)shell程序的运行方法有多种,这里只介绍三种方法:
第一种:./xx.sh,和运行二进制可执行程序方法一样的。这样运行shell要求shell程序必须具有可执行权限chomd a+x xxx.sh来添加可
执行权限。
第二种:source xx.sh,source是linux的一个命令,这个命令是用来执行脚本程序的。这样运行不需要脚本具有可执行权限。
第三种:bash xx.sh, bash是一个脚本程序解释器,本质上是一个可执行程序。这样执行相当于我们执行了bash程序然后把xx.sh作为
argv[1]传给它运行。
2.2 hello world程序解释
(1)shell程序的第一行一般都是:#!/bin/shell这行话以#!开始,后面加上一个pathname,这行话的意思就是指定shell程序执行时被
哪个解释器解释执行,所以我们这里写上/bin/sh意思是这个shell将来被当前机器中/bin目录下的sh可执行程序执行。
可以将第一行写为:#!/bin/bash来指定使用bash执行该脚本。
注意:在ubuntu上面默认使用的解释器是sh而不是bash,而是dash。dash是ubuntu中默认使用脚本解释器。
(3)脚本中的注释使用#开头,和C语言中//相似。

2.3shell并不神秘
(1)shell就是把以前命令行中键入执行的命令写成了程序。shell其实就是为了避免反复在命令行手工输入而发明的一种将手工输入步骤
记录下来,然后通过shell脚本程序就能再次复述原来记录的手工输入过程的一种技术。

三、shell编程学习1
1、shell中使用linux命令
(1)练习1:当前目标下创建文件a.txt
(2)练习2:当前目录下创建文件夹dir,dir下创建文件b.txt
总结:以上2个练习的目的是让我们基本学会脚本,明白脚本编程其实是把以前在命令行下输入的命令挪到脚本程序中去然后一次执行。

2、shell中的变量定义和引用
(1)变量定义和初始化。shell是弱类型语言(语言中的变量如果有明确的类型则属于强类型语言;变量没有明确类型就是弱类型语言),
和C语言不同。在shell编程中定义变量不需要制定类型,也不有类型这个概念。
(2)变量定义时可以初始化,使用“=”进行初始化赋值。在shell中赋值的=两边是不能有空格的。
注意:shell对语法非常在意,非常严格,很多地方空格有无都是必须的,不能随意添加或省略空格。
(3)变量赋值,变量定义后可以再次赋值,新的赋值会覆盖老的赋值。shell中并不刻意区分变量的定义
和赋值,反正每个变量就是一个符号,这个符号的值就是最后一个给他赋值时的值。
(4)变量引用
shell中引用一个变量必须使用 符 号 , 符号,

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Docker容器宿主机的销售是指销售用于部署和运行Docker容器的物理或虚拟服务器。随着Docker技术的发展和普及,容器化应用的需求不断增加,使得Docker容器宿主机的销售成为一个热门领域。 买家可以通过各种途径购买Docker容器宿主机。他们可以选择购买物理服务器,将其配置成Docker宿主机;或者选择使用云服务商提供的虚拟私有云(VPC)实例作为Docker容器宿主机。根据购买者的需求和预算,他们可以选择不同规格和配置的宿主机。一些供应商还提供了成套的容器化解决方案,包括硬件设备、软件平台和技术支持等。 对于直接购买物理服务器的买家来说,他们需要选择适合容器化部署的服务器。这些服务器通常具有高性能的CPU和内存,支持虚拟化技术,如Intel VT或AMD-V。此外,服务器上的存储系统也需要具备高速访问和可扩展性,以满足容器化应用对存储的需求。购买者还需要考虑容器化应用的规模和负载特性,以确定适合的服务器数量和规格。 云服务商提供的虚拟私有云实例通常更加灵活和易于管理。购买者可以根据需求选择不同规格和配置的虚拟机实例。云服务商还提供了自动化的容器编排和管理工具,如AWS的Elastic Container Service(ECS)或谷歌的Kubernetes,使得容器化应用的部署和管理更加方便。 总之,Docker容器宿主机的销售是一个与容器化应用需求紧密相关的市场。购买者可以根据自己的需求选择合适的宿主机,无论是购买物理服务器还是使用云服务商提供的虚拟机实例。这些宿主机可以帮助他们快速部署和运行容器化应用,提高应用的灵活性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值