首页 > 系统相关 >21_Shell脚本入门

21_Shell脚本入门

时间:2024-04-02 17:27:24浏览次数:29  
标签:脚本 shell 21 cmd1 cmd2 命令 Shell 执行 入门

Shell脚本入门

一、什么是shell脚本

​ 我们已经能够熟练的在终端中输入命令来完成一些常用的操作,但是我们都是一条一条输入命令。这样会很麻烦,那么有没有一种方式可以将很多条命令放到一个文件里面,然后直接运行这个文件即可?肯定有,这个就是shell脚本!

​ shell脚本类似windows的批处理文件,shell脚本就是将连续执行的命令写成一个文件。

​ shell脚本提供数组、循环、条件判断的等功能。shell脚本一般是Linux运维或者系统管理员要掌握的,作为嵌入式开发人员,只需要掌握shell脚本最基础的部分即可。

二、shell脚本写法

​ shell脚本是个纯文本文件,命令从上而下,一行一行的开始执行。shell脚本扩展名为.sh。

shell脚本第一行一定要为:

#!/bin/bash

​ 表示使用bash。

三、shell脚本语法

3.1第一个shell脚本

image-20240331203940621

image-20240331203958679

3.2、交互式shell脚本

​ read

image-20240331203643885

image-20240331203715960

3.3、shell脚本的数值计算

shell仅支持整形,数值计算使用$((表达式))

image-20240331205701651

image-20240331205723810

3.4、test命令

test命令用于查看文件是否存在、权限等信息,可以进行数值,字符,文件三方面的测试。

&&和||命令:

cmd1 && cmd2 当cmd1执行完并且正确,那么cmd2开始执行,如果cmd1执行完毕错误,那么cmd2不执行。

cmd1 || cmd2 当cmd1执行完毕并正确,那么cmd2不执行,反之cmd2执行。

image-20240331210954505

image-20240331211015226

比较两个字符串是否相等

image-20240331211206458

image-20240331211228747

image-20240331211255394

3.5、中括号[]判断符

[ ] ==或 !=

image-20240331213744926

image-20240331213802276

3.6、默认变量

$0~$n,表示shell脚本的参数,包括shell脚本命令本身,shlle脚本命令本身为$0

$#:#表示最后一个参数的标号。

$@:表$1、$2、$3......

image-20240331220208671

image-20240331220244260

标签:脚本,shell,21,cmd1,cmd2,命令,Shell,执行,入门
From: https://www.cnblogs.com/mzx233/p/18111071

相关文章

  • 22_shell脚本条件判断、函数和循环
    shell脚本条件判断、函数和循环一、shell脚本条件判断​shell脚本支持条件判断,虽然可以通过&&和||来实现简单的条件判断,但是稍微复杂一点的场景就不适合了。shell脚本提供了ifthen条件判断语句,写法if条件判断;then//判断成立要做的事情fi还有ifthenelse语句,写法......
  • 入门级Python编程题(2)
    编写一个Python程序,找出列表中第n小的整数。定义函数find_nth_smallest(),该函数接受整数列表numbers_list和整数n作为参数。在函数内部,返回列表中第n小的整数。如果n大于列表的长度,则返回None。deffind_nth_smallest(numbers_list,n):ifn>len(numbers_list):......
  • Shell 编程入门指南:从基础到进阶,轻松掌握 Shell 脚本编程技巧--附有测试题目
    $shell编程setnu显示行号生成随机数RANDOM快速入门文件shell脚本文件第一行特殊格式 #!/bin/bashecho跟输出内容shell脚本执行方式 #方式一sh文件.sh#方式二./文件.sh 相对路径#方式三/root/文件.sh 绝对路径shell的数据类型字符串:建议使......
  • PowerShell 中,你可以使用 Get-NetRoute 命令来查看本地系统的路由表。这个命令将显示
    PowerShell中,你可以使用Get-NetRoute命令来查看本地系统的路由表。这个命令将显示系统中的所有路由条目,包括目的网络、子网掩码、网关、接口索引等信息。以下是使用Get-NetRoute命令的示例:powershellCopyCodeGet-NetRoute这将列出系统中的所有路由条目。ifIndexDes......
  • P2143 [JSOI2010] 巨额奖金 题解
    P2143[JSOI2010]巨额奖金题解矩阵树定理+Kruskal最小生成树计数。思路MST都是喵喵题。引理1:所有合法的权值相同边的连边方案,得到的连通块情况是相同的。感性理解:如果不相同意味着至少有一条边可以连通一对连通块。所以我们可以这么做:先跑Kruskal标记树边,然后枚举......
  • PowerShell中调用GPU命令通常涉及到与GPU相关的任务,如查看GPU信息、管理GPU驱动、执行
    PowerShell中调用GPU命令通常涉及到与GPU相关的任务,如查看GPU信息、管理GPU驱动、执行GPU加速的计算任务等。以下是一些常见的PowerShell中调用GPU命令的示例:查看GPU信息:Get-WmiObject-Namespace"root\CIMV2"-ClassWin32_VideoController:通过WMI获取GPU信息,包括名称、制......
  • CSCI 2122翻译指令集
    CSCI2122任务4截止日期:2024年3月22日星期五晚上11:59,通过git提交目标本课业的目的是练习用C进行编码,并强化中讨论的概念关于程序表示的类。在这个任务1中,您将实现一个二进制翻译器2,如Rosetta3。您的程序将从翻译一个简单的指令集(比x86简单得多)到x86并生成x86汇编代码。代码将然后......
  • shell
    [解析器和调用]文件首行指定解析器,默认解析器可省略不写通过sh或者bash命令调用shell脚本//hello.sh#!/bin/bashecho"helloworld"//run$shhello.sh给脚本文件添加执行权限后,调用时可省略sh或者bash$chmod777hello.sh./hello.......
  • 零基础10 天入门 Web3之第2天
    10天入门Web3之第2天Web3 是互联网的下一代,它将使人们拥有自己的数据并控制自己的在线体验。Web3基于区块链技术,该技术为安全、透明和可信的交易提供支持。我准备做一个10天的学习计划,可帮助大家入门Web3:一、这是第二天,首先免费下载一下两篇白皮书尽量一口气看完它:比......
  • Item21:当你返回一个对象时,不要试图返回一个引用
    芝士wa2024.4.2Item21链接“无论何时只要你看到一个引用声明,你应该立刻问自己它是什么东西的另一个名字,因为它必定是某物的另一个名字”如果函数返回一个引用,它必须返回某个已存在的对象的引用。一个函数创建一个新对象只有两种方法:在栈上或者在堆上。栈上的生成物是局部......