【linux/shell实战案例】linux中变量的使用

目录

一.linux变量声明及定义

二.linux变量使用方法

三.linux变量使用花括号${name}和双引号“$name”的区别

四.linux变量使用单引号'$name'和双引号“$name”的区别

五.linux变量中使用命令


一.linux变量声明及定义

#!/bin/bash
name=zhaodabao
  • 等号两边不能有空格
  • 变量名称只能是英文字母和数字,不能以数字开头

二.linux变量使用方法

以下两种使用方式均可,但是最好使用花括号,这样代码的可读性更好,是一种良好的编程习惯。

#!/bin/bashecho $nameecho ${name}

三.linux变量使用花括号${name}和双引号“$name”的区别


一般情况加双引号和花括号不会影响代码执行结果,二者都可以使用,但是Linux中文件名中包含空格是合法的,为了区分变量和相邻的输出内容,必须使用花括号或双引号,推荐给变量加花括号,是个良好的编程习惯。

具体在使用中会存在特殊情况,二者有所不同,下面是具体情况:

${user}name 和$usemame的区别
"$file name"和$file name的区别

四.linux变量使用单引号'$name'和双引号“$name”的区别

单引号不会编译里面的变量内容,双引号会

#!/bin/bash
user="zhaodabao"echo '${user}'   
输出:
'${user}'echo"${user}"
输出:
zhaodabao

五.linux变量中使用命令

使用反单引号(`),在一条语句中,反单引号之间的命令会先被执行,所以可以将反单引号中命令输出的结果赋值给变量

#!/bin/bash
name=`echo $HOME`

六.sed中使用变量

sed简介:(system editor,流文本编辑器)

sed是非交互式编辑器,默认不会修改文件,会输出打印到屏幕或文件逐行处理;

所以主要用sed指令来处理行数据,列数据可以使用awk。

解决方法:
sed中提取某一行数据可以用

sed -n '1p' file


通常在实际情况中,我们需要循环提取多行数据,所以要被提取的行数就需要使用变量表示,例如

for i in {1..3}
dosed -n "$i"p file
done


这时候需要注意的是,使用变量表示行数需要用双引号,而不是常规的单引号,这一点很容易被忽略,需要注意

七.awk中使用变量

awk使用变量提取数据的方法为:

for i in {1..3}
do
awk -F" " '{print "'$i'"}' file
done

要注意先用单引号包住变量,再用双引号包住整体

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/40084.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++精解【10】

文章目录 读写文件概述example csv读文件读取每个字段读取机器学习数据库iris constexpr函数GMP大整数codeblock环境配置数据类型函数类 EigenminCoeff 和maxCoeffArray类 读写文件 概述 fstream typedef basic_fstream<char, char_traits<char>> fstream;此类型…

【大数据】什么是数据融合(Data Fusion)?

目录 一、数据融合的定义 二、数据融合的类型 三、数据融合的挑战 四、数据融合的方法 五、数据融合的关键环节 1.数据质量监控指标的制定和跟踪 2.异常检测和处理机制 3.实时数据监测与反馈机制 4.协同合作与知识共享 一、数据融合的定义 数据融合&#xff08;Data Fusion&…

STM32基本定时器、通用定时器、高级定时器区别

一.STM32基本定时器、通用定时器、高级定时器区别 STM32系列微控制器中的定时器资源分为基本定时器&#xff08;Basic Timer&#xff09;、通用定时器&#xff08;General Purpose Timer&#xff09;和高级定时器&#xff08;Advanced Timer&#xff09;三类&#xff0c;它们在…

深入分析Java中的内存管理与垃圾回收机制

深入分析Java中的内存管理与垃圾回收机制 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨Java中的内存管理与垃圾回收机制&#xff0c;这是每…

PyCharm远程开发配置(2024以下版本)

目录 PyCharm远程开发配置 1、清理远程环境 1.1 点击Setting 1.2 进入Interpreter 1.3 删除远程环境 1.4 删除SSH 2、连接远程环境 2.1 点击Close Project 2.2 点击New Project 2.3 项目路径设置 2.4 SSH配置 2.5 选择python3解释器在远程环境的位置 2.6 配置远程…

web学习笔记(七十三)微信小程序

目录 1. 微信公众平台和微信开放平台 1.1 微信公众平台&#xff1a; 1.2 微信开放平台&#xff1a; 2.全局配置和局部配置 2.1 全局配置 2.2 页面配置 1. 微信公众平台和微信开放平台 1.1 微信公众平台&#xff1a; 微信公众平台是用于创建和管理公众号和小程序&#x…

C++ 现代教程二

线程支持库 - C中文 - API参考文档 GitHub - microsoft/GSL: Guidelines Support Library Fluent C&#xff1a;奇异递归模板模式&#xff08;CRTP&#xff09; - 简书 #include <thread> #include <iostream> #include <unordered_map> #include <futu…

Python京东商品评论爬取及可视化

在Python中爬取京东商品评论并进行可视化通常涉及几个关键步骤&#xff1a;使用爬虫库&#xff08;如requests和BeautifulSoup或Selenium&#xff09;来抓取网页数据&#xff0c;使用数据处理库&#xff08;如pandas&#xff09;来整理数据&#xff0c;以及使用数据可视化库&am…

区块链加载解析方法

一.区块链加载解析 对于数据的下载主要包括三种方式&#xff1a; 1.实现比特币网络协议&#xff0c;通过该协议和其他比特币全节点建立联系&#xff0c;然后同步区块数据。 2.通过比特币节点提供的API服务下载区块链数据。 3.通过blickchain.com提供的rest服务下载区块数据…

《后端程序猿 · Caffeine 本地缓存》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻一周&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

EE架构大跃进:特斯拉、小鹏引领舱驾融合,从域控融合走向单SoC

作者 |肖恩 编辑 |德新 智能汽车发展到今天&#xff0c;整车电气架构已经从分布式架构逐渐迈向中央集成式架构&#xff0c;传统的小控制器被集成到按功能划分的大域控里&#xff0c;下一个阶段将是跨域的融合&#xff0c;通过不同功能域的集成实现中央计算平台的最终目标。 …

onTouch()与onTouchEvent()的区别

onTouch()和onTouchEvent()是Android中处理触摸事件的两个重要方法。它们用于不同的场景&#xff0c;并在事件分发机制中扮演不同的角色。以下是它们的详细区别和使用方法&#xff1a; onTouch() 方法 定义&#xff1a;onTouch(View v, MotionEvent event)是View.OnTouchList…

Visual Studio 中的键盘快捷方式

1. Visual Studio 中的键盘快捷方式 1.1. 可打印快捷方式备忘单 1.2. Visual Studio 的常用键盘快捷方式 本部分中的所有快捷方式都将全局应用&#xff08;除非另有指定&#xff09;。 “全局”上下文表示该快捷方式适用于 Visual Studio 中的任何工具窗口。 生成&#xff1…

注解详解系列 - @EnableAspectJAutoProxy:启用AspectJ自动代理

注解简介 在今天的注解详解系列中&#xff0c;我们将探讨EnableAspectJAutoProxy注解。EnableAspectJAutoProxy是Spring框架提供的一个注解&#xff0c;用于启用对AspectJ注解风格的支持&#xff0c;从而允许Spring AOP自动代理基于注解的切面。通过EnableAspectJAutoProxy注解…

心理学|变态心理学健康信息学——变态心理学与健康心理学单科作业题(中科院)

一、单选题(第1-100小题,每题0.5分,共计50分。) 1、变态心理学侧重说明异常心理的( ) 分值0.5分 A、诊断 B、咨询 C、治疗 D、特点 正确答案: D、特点 2、精神分析理论认为本我的活动原则是( ) 分值0.5分 A、现实原则 B、道德原则 C、快乐原则 …

[leetcode hot 150]第四百五十二题,用最少数量的箭引爆气球

题目&#xff1a; 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points &#xff0c;其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可以沿着 x 轴从不同点 完全垂直 地射出。…

[leetcode hot 150]第三题,无重复字符的最长子串

题目&#xff1a; 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长 子串的长度。 可以使用"滑动窗口"的方法来解决这个问题。基本思路如下: 使用两个指针(start和end)来定义一个窗口移动end指针来扩大窗口,直到遇到重复字符如果遇到重复字符,移动s…

Vite: 插件流水线之核心编译能力

概述 Vite 在开发阶段实现了一个按需加载的服务器&#xff0c;每一个文件请求进来都会经历一系列的编译流程&#xff0c;然后 Vite 会将编译结果响应给浏览器。在生产环境下&#xff0c;Vite 同样会执行一系列编译过程&#xff0c;将编译结果交给 Rollup 进行模块打包这一系列…

【面试题】网络IO模型

IO&#xff08;Input/Output&#xff09;模型指的是计算机系统中对输入/输出操作进行处理的不同方式。它定义了操作系统内核、应用程序和I/O设备之间如何交互和协调数据传输。不同的IO模型在效率、复杂性和适用场景方面都有所差异。以下是几种主要的IO模型及其特点&#xff1a;…

什么是 URL ?

统一资源定位符&#xff08;URL&#xff09;是一个字符串&#xff0c;它指定了一个资源在互联网上的位置以及如何访问它。URL 是由几部分组成的&#xff0c;每部分都有其特定的作用&#xff1a; 协议/方案&#xff1a;这是 URL 的开头部分&#xff0c;表明了用于访问资源的协议…