当前位置: 首页 > news >正文

Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell 替代】

🎀🎀Shell语法入门篇 系列篇 🎀🎀

  1. Linux+Docer 容器化部署之 Shell 语法入门篇 【准备阶段】
  2. Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell变量】
  3. Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell数组与函数】
  4. Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell基本运算符】
  5. Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell条件语句】
  6. Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell 循环类型】
  7. Linux+Docer 容器化部署之 Shell 语法入门篇 【循环控制break/continue】
  8. Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell 替代】
  9. Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell 引用机制】
  10. Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell 输入/输出重定向】

文章目录

  • 🎀🎀Shell语法入门篇 系列篇 🎀🎀
  • 一、替代是什么?
  • 二、命令替换
  • 三、变量替代


一、替代是什么?

Shell 当它遇到一个表达式,其中包含一个或多个特殊字符进行替代。

🌰举个例子:
下面的例子,同时使打印取代的其值的变量的值。同时 “ ” 是一个新行取代:

#!/bin/sha=10
echo -e "Value of a is $a 
"

这将产生下面的结果。这里 -e 选项可以解释反斜杠转义。

Value of a is 10

下面是结果没有 -e 选项:

Value of a is 10

这里 echo 命令可以用在以下转义序列:
在这里插入图片描述

可以使用 -E 选项禁用解释反斜杠转义(默认)。

您可以使用 -n 选项来禁用插入新行。

二、命令替换

命令替换 shell 执行的机制,一组给定的命令,然后替代它们的输出在命令。

语法:
执行命令替换的命令时,被给定为:

`command`

当执行命令替换,确保您使用的是反引号,不是单引号字符。

🌰举个例子:
命令替换一般是用一个命令的输出分配给一个变量。下面的例子演示命令替换:

#!/bin/shDATE=`date`
echo "Date is $DATE"USERS=`who | wc -l`
echo "Logged in user are $USERS"UP=`date ; uptime`
echo "Uptime is $UP"

这将产生以下结果:

Date is Thu Jul  2 03:59:57 MST 2009
Logged in user are 1
Uptime is Thu Jul  2 03:59:57 MST 2009
03:59:57 up 20 days, 14:03,  1 user,  load avg: 0.13, 0.07, 0.15

三、变量替代

变量替换可使 Shell 程序员操纵变量的值,根据其状态。

这里是所有可能的替换如下表:

格式描述
${var}Substitue the value of var.
${var:-word}If var is null or unset, word is substituted for var. The value of var does not change.
${var:=word}If var is null or unset, var is set to the value of word.
${var:?message}If var is null or unset, message is printed to standard error. This checks that variables are set correctly.
${var:+word}If var is set, word is substituted for var. The value of var does not change.

🌰举个例子:
下面的例子显示各种状态,上述替代:

#!/bin/shecho ${var:-"Variable is not set"}
echo "1 - Value of var is ${var}"echo ${var:="Variable is not set"}
echo "2 - Value of var is ${var}"unset var
echo ${var:+"This is default value"}
echo "3 - Value of var is $var"var="Prefix"
echo ${var:+"This is default value"}
echo "4 - Value of var is $var"echo ${var:?"Print this message"}
echo "5 - Value of var is ${var}"

这将产生以下结果:

Variable is not set
1 - Value of var is
Variable is not set
2 - Value of var is Variable is not set3 - Value of var is
This is default value
4 - Value of var is Prefix
Prefix
5 - Value of var is Prefix

相关文章:

Linux+Docer 容器化部署之 Shell 语法入门篇 【Shell 替代】

🎀🎀Shell语法入门篇 系列篇 🎀🎀 LinuxDocer 容器化部署之 Shell 语法入门篇 【准备阶段】LinuxDocer 容器化部署之 Shell 语法入门篇 【Shell变量】LinuxDocer 容器化部署之 Shell 语法入门篇 【Shell数组与函数】LinuxDocer 容…...

DeepSeek LLM(初代)阅读报告

概况 这个是deepseek发布的第一版模型对应的技术报告,模型发布于23年11月,本报告发布于24年1月。 模型有7B和67B两个版本。 虽然本报告中还没有用上后面V2/V3和R1中的关键技术例如MLA、MTP、GRPO,但是报告中已经指明了MoE、强化学习等未来…...

JAVA异步的TCP 通讯-服务端

一、服务端代码示例 import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.AsynchronousServerSocketChannel; import java.nio.channels.AsynchronousSocketChannel; import java.nio.channels.Completion…...

高效协同,Tita 助力项目管理场景革新

在当今快节奏、高度竞争的商业环境中,企业面临着前所未有的挑战:如何在有限资源下迅速响应市场变化,确保多个项目的高效执行并达成战略目标?答案就在于优化项目集程管理。而在这个过程中,Tita项目管理产品以其独特的优…...

【AIGC魔童】DeepSeek v3提示词Prompt书写技巧

【AIGC魔童】DeepSeek v3提示词Prompt书写技巧 (1)基础通用公式(适用80%场景)(2)问题解决公式(决策支持)(3)创意生成公式(4)学习提升公…...

Vue | 透传 Attributes(非 prop 的 attribute )

文章目录 引言I Attribute 继承II 禁用 attribute 继承禁用 attribute 继承的常见场景通过将 inheritAttrs 选项设置为 false从 3.3 开始可在 `<script setup>` 中使用defineOptions例子引言 “透传 attribute”指的是传递给一个组件,却没有被该组件声明为 props 或 emi…...

启明星辰发布MAF大模型应用防火墙产品,提升DeepSeek类企业用户安全

2月7日&#xff0c;启明星辰面向DeepSeek等企业级大模型业务服务者提供的安全防护产品——天清MAF&#xff08;Model Application Firewall&#xff09;大模型应用防火墙产品正式发布。 一个新赛道将被开启…… DeepSeek的低成本引爆赛道规模 随着DeepSeek成为当前最热的现象级…...

Vuex 解析:从 Vue 2 到 Vue 3 的演变与最佳实践

Vuex 是 Vue.js 中的状态管理模式&#xff0c;广泛应用于 Vue 2 和 Vue 3 中&#xff0c;其内部实现存在一些差异。 1. 什么是 Vuex &#xff1f; Vuex 是 Vue.js 官方提供的状态管理库&#xff0c;用于集中管理应用的所有组件的状态。主要是通过一种集中化的方式来管理共享状…...

一文解释nn、nn.Module与nn.functional的用法与区别

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;零基础入门PyTorch框架_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 …...

日志统计(acWing,蓝桥杯)

题目&#xff1a; 1238. 日志统计 题目 提交记录 讨论 题解 视频讲解 小明维护着一个程序员论坛。现在他收集了一份”点赞”日志&#xff0c;日志共有 NN 行。 其中每一行的格式是&#xff1a; ts id 表示在 tsts 时刻编号 idid 的帖子收到一个”赞”。 现在小明想…...

3个DeepSeek隐藏玩法

大家最近是不是都被DeepSeek-R1刷屏了 这款号称“中国版O1”的模型&#xff0c;不仅在数学和编程领域表现出色&#xff0c;中文写作能力也很强。 最重要的是&#xff0c;它在理解提示词方面有了很大突破&#xff0c;只要你能打字&#xff0c;它就能理解你的意思。 不过&…...

部署LLM模型到云端

文章目录 1 ECS 云服务器部署2 函数计算FC3 人工智能平台PAI-EAS4 大模型服务平台百炼压测实验结果显示,由于本地设备算力有限,本地部署的模型服务无法满足低延迟和高并发的需求。针对这类线上业务,可以考虑云端部署。 下面先来看看本地部署和云端部署的特点对比。 由上可…...

Python连接不同数据库的总结

Python连接不同数据库的总结 在数据驱动的现代应用开发中&#xff0c;Python凭借其丰富的库和强大的生态系统&#xff0c;成为连接各种数据库的理想编程语言。本文将深入探讨Python连接不同类型数据库的方法、常用库以及关键注意事项。 一、连接MySQL数据库 MySQL是广泛使用…...

web直播弹幕抓取分析 signature

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 前言 最近遇到太多难点了卡了很久&am…...

Linux ftrace 内核跟踪入门

文章目录 ftrace介绍开启ftraceftrace使用ftrace跟踪指定内核函数ftrace跟踪指定pid ftrace原理ftrace与stracetrace-cmd 工具KernelShark参考 ftrace介绍 Ftrace is an internal tracer designed to help out developers and designers of systems to find what is going on i…...

1Panel应用推荐:WordPress开源博客软件和内容管理系统

1Panel&#xff08;github.com/1Panel-dev/1Panel&#xff09;是一款现代化、开源的Linux服务器运维管理面板&#xff0c;它致力于通过开源的方式&#xff0c;帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用&#xff0c;1Panel特别开通应用商店&am…...

【数据结构-C语言】绪论

文章目录 一、前言二、基本概念和术语2.1 数据元素、数据项和数据对象2.2 数据结构2.2.1 逻辑结构2.2.2 存储结构 2.3 时间复杂度 一、前言 数据结构部分是根据严蔚敏老师的《数据结构-C语言版第2版》书中内容整理的。 二、基本概念和术语 2.1 数据元素、数据项和数据对象 …...

java poi Excel 文件导入导出常见错误及解决方案

在使用 Apache POI 进行 Excel 文件的导入导出操作时&#xff0c;可能会遇到各种问题。以下是一些常见的错误及其解决方案&#xff1a; 一、文件格式相关问题 1. 文件格式不兼容 问题描述&#xff1a;尝试使用 HSSFWorkbook 读取 .xlsx 文件&#xff0c;或者使用 XSSFWorkbo…...

深入浅出DeepSeek LLM 以长远主义拓展开源语言模型

深入浅出地讲解DeepSeek LLM 以长远主义拓展开源语言模型 &#x1f31f; 1. 什么是 DeepSeek LLM&#xff1f; 大家想象一下&#xff0c;你在游戏里要打造一个超级英雄角色&#xff0c;选择最强的装备、技能点和升级策略。那么&#xff0c;DeepSeek LLM 就是 AI 界的“超级英雄…...

【Leetcode 每日一题】59. 螺旋矩阵 II

问题背景 给你一个正整数 n n n&#xff0c;生成一个包含 1 1 1 到 n 2 n ^ 2 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n n n \times n nn 正方形矩阵 m a t r i x matrix matrix。 数据约束 1 n 20 1 \times n \times 20 1n20 解题过程 定义方向数组…...

C++头文件和cpp文件的原理分析

通常&#xff0c;在一个C程序中&#xff0c;只包含两类文件——.cpp文件和.h文件。 .cpp文件被称作C源文件&#xff0c;里面放的都是C的源代码.h文件则被称作C头文件&#xff0c;里面放的也是C的源代码&#xff0c;头文件不用被编译 C语言支持“分别编译”&#xff08;separa…...

基于SpringBoot的门禁与访客管理系统毕业设计

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在构建一个基于Spring Boot框架的门禁与访客管理系统以解决传统门禁系统在智能化管理方面存在的局限性。当前多数门禁系统仍采用封闭式架构设计导致数据…...

ARM活动监控器(AMU)架构与AMCFGR寄存器详解

1. ARM活动监控器架构概览 在现代处理器设计中&#xff0c;性能监控单元(PMU)是系统调优和性能分析的关键组件。ARM架构中的活动监控器(Activity Monitors)作为PMU的核心部分&#xff0c;通过硬件计数器实现了对处理器行为的细粒度追踪。不同于传统的性能计数器&#xff0c;AMU…...

okbiye AI 写作新思路:毕业论文终稿一站式落地,不用熬夜硬熬

okbiye-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPT毕业论文 - Okbiye智能写作https://www.okbiye.com/ai/bylw 开篇引言 每到毕业季&#xff0c;毕业论文总会成为无数大学生最头疼的一道关卡。选题没方向、框架搭不起来、正文写不出深度、重复率居高不…...

GBase 8c 在过程里记流水时要小心自治事务边界

GBase 8c 在过程里记流水时要小心自治事务边界 我最近看 GBase 8c 自治事务资料时&#xff0c;觉得它特别适合拿来讨论一个开发现场经常遇到的问题&#xff1a;业务过程失败了&#xff0c;排障流水也跟着回滚了。等真正去查问题时&#xff0c;只剩应用日志里几行模糊报错&#…...

Play Integrity API Checker:5分钟快速掌握Android设备安全检测终极指南

Play Integrity API Checker&#xff1a;5分钟快速掌握Android设备安全检测终极指南 【免费下载链接】play-integrity-checker-app Get info about your Device Integrity through the Play Intergrity API 项目地址: https://gitcode.com/gh_mirrors/pl/play-integrity-chec…...

从NCDC到本地分析:一站式获取与处理全球气象站点数据

1. 全球气象数据获取的完整指南 第一次接触气象数据的朋友可能会被各种专业术语和数据格式搞得晕头转向。我刚开始做气象分析时&#xff0c;光是找数据就花了两周时间&#xff0c;下载下来的文件还经常打不开。今天我就把从数据获取到最终分析的完整流程梳理出来&#xff0c;帮…...

从零到一:基于ESP8266 AT指令与华为云IoT平台构建智能设备原型

1. ESP8266硬件准备与固件烧录 第一次接触ESP8266时&#xff0c;我被这个小巧的Wi-Fi模块惊艳到了——它只有指甲盖大小&#xff0c;却能实现完整的网络连接功能。不过在实际使用中&#xff0c;我发现出厂固件往往功能不全&#xff0c;特别是MQTT支持不够完善&#xff0c;这时候…...

BilibiliDown完整使用教程:三步搞定B站视频批量下载

BilibiliDown完整使用教程&#xff1a;三步搞定B站视频批量下载 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/bi/…...

HarmonyOS 6 CalendarPickerDialog 日历选择弹窗使用文档

文章目录完整代码功能概述代码结构说明核心参数详解1. 基础参数2. DateRange 结构说明3. 示例禁用区间配置说明总结完整代码 Entry Component struct CalendarPickerDialogExample {private selectedDate: Date new Date(2025-08-05);private disabledDateRange: DateRange[]…...