首页 > 系统相关 >什么是 Shell,Shell 功能介绍和脚本编程入门实例

什么是 Shell,Shell 功能介绍和脚本编程入门实例

时间:2023-12-31 13:35:26浏览次数:38  
标签:脚本 Shell 入门 编程 helloWorld 命令 world bash


1. 概述

Shell 一种特殊的交互工具,用于用户和Linux系统交互,其功能和构成如下所示:

  • 交互工具,为用户提供了启动程序、管理文件系统中的文件和运行在Linux系统上的进程。
  • 核心是命令行提示符,命令行提示符是 Shell 负责交互的部分,允许输入命令,然后解释命令,并在内核中执行。
  • 包含了一组内部命令,这些命令可以创建文件(touch命令)、移动文件(mv命令)等;

Linux 的构成图下所示:

什么是 Shell,Shell 功能介绍和脚本编程入门实例_Shell

2. Shell 脚本之 HelloWorld 示例

打开控制台终端,输入以下命令,创建helloWorld.sh脚本。

vi helloWorld.sh

点击回车进入了vi编辑器。

什么是 Shell,Shell 功能介绍和脚本编程入门实例_1024程序员节_02


输入 i 进入编辑模式。

什么是 Shell,Shell 功能介绍和脚本编程入门实例_Shell_03


输入以下脚本,#!/bin/bash 是定义使用的解析器,这里即使用 /bin/bash 这个解析器;echo "hello world"是打印hello world这个字符串,相当于C语言的printf:

#!/bin/bash
echo "hello world"

什么是 Shell,Shell 功能介绍和脚本编程入门实例_bash_04


键盘上按esc键,退出编辑模式,输入以下命令保存并退出。

:wq

输入以下命令,执行保存好的 helloWorld.sh 脚本,脚本执行成功,会在控制台打印出 hello world。

bash helloWorld.sh

什么是 Shell,Shell 功能介绍和脚本编程入门实例_Shell_05

参考文献

  • Linux命令行与Shell脚本编程大全 第三版 布鲁姆


标签:脚本,Shell,入门,编程,helloWorld,命令,world,bash
From: https://blog.51cto.com/xuxiangyang/9047891

相关文章

  • Python趣味入门12:初遇类与实例
    小牛叔用轻松有趣的故事,带你进入Python的编程世界。1、类一提到类大神们就经常说封装。说白了,封装即把围绕同一个对象相同的代码、数据整合在一起。比如在某段游戏代码中(比如熊猫厨房),有一个“面包”:1、游戏提供“烘烤”的操作。->很明显这是动作->类的方法2、面包有硬度指......
  • 编程中不初始化变量的垃圾值的危害
    话不多说,直接上代码,为了验证elf的,编了了示例代码study.c1#include<stdio.h>23#defineNUMBER_114#defineNUMBER_2256intmain(intargc,char**argv)7{8inta;9intb;10intc;11a=NUMBER_1;12b=NUMBER_2;13c=a+......
  • 网络攻防技术——shellcode编写
    实验5:shellcode编写实验实验内容:shellcode广泛用于许多涉及代码注入的攻击中。编写shellcode是相当有挑战性的。虽然我们可以很容易地从互联网上找到现有的shellcode,但是能够从头开始编写我们自己的shellcode总是令人兴奋的。shellcode中涉及到几种有趣的技术。本实验室的目的是......
  • 【并发编程】CopyOnWriteArrayList详解与原理
    ......
  • linux下好玩的shell程序与玩法
    1主要包括如下程序: sudoaptinstalllolcataewancowsayjp2alinuxlogoneoftechfortunepvcmatrixcbonsai2fortune:人们喜欢阅读随机的预测或说法,该工具用来缓解无聊的时光。上边是没有lolcat的效果,下边是加了lolcat的效果就是彩色的。3lolcat:无条件将输入涂上五颜......
  • Kernel Memory 入门系列:Semantic Kernel 插件
    KernelMemory入门系列:SemanticKernel插件KernelMemory本身提供了完整的RAG能力,这部分能力如果通过SemanticKernelMemory的话,也是可以实现的,但是整体的管理成本会比较高。因此通过KernelMemory构建知识库管理,然后通过插件的方式,将KernelMemory接入到SemanticKernel......
  • java-多线程编程
    多线程是指在一个程序中同时执行多个线程,每个线程都是独立运行的。Java中的多线程编程允许在同一个程序中同时执行多个任务,以提高程序的效率和响应性。以下是一些与Java多线程编程相关的重要概念:线程(Thread):线程是程序的执行单元,可以并发执行多个任务。在Java中,可以通过创建Thre......
  • Modbus转Profinet,不会编程也能用!轻松快上手!
    Modbus转Profinet,不会编程也能用!轻松快上手!Modbus转Profinet是一种用于工业自动化领域的通信协议转换器,可以将Modbus协议转换为Profinet协议,实现设备之间的数据交换与通信。这个工具的使用非常简单,即使没有编程经验的人也可以轻松上手。即使不会编程的人也可以轻松快速上手使用Mo......
  • java-面向对象编程
    面向对象编程是一种编程范式,它将程序设计组织为对象的集合,这些对象通过相互之间的交互来完成任务。下面是面向对象编程的一些重要概念和Java的相关实现:类(Class)和对象(Object):在Java中,类是定义对象的模板。它描述了对象的属性(成员变量)和行为(方法)。对象是类的实例化结果,可以创建多......
  • docker入门
    docker入门官方介绍https://docs.docker.com/get-started/overview/Docker是一个用于开发、发布和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分离,以便您可以快速交付软件。使用Docker,您可以管理您的基础架构以管理应用程序的相同方式。通过利用Docker......