返回顶部
首页 > 资讯 > 操作系统 >linuxshell将变量拼接到命令中
  • 301
分享到

linuxshell将变量拼接到命令中

linuxshell变量拼接shell变量拼接命令 2023-05-19 08:05:47 301人浏览 独家记忆
摘要

目录linux拼接字符串命令行里拼接字符串我碰到的问题单引号的一些注意的地方有这个一个场景:需要写多个定时任务提交到yarn,这些任务都是同一时间启动的。原先的做法是,所有的启动命令

有这个一个场景:需要写多个定时任务提交到yarn,这些任务都是同一时间启动的。原先的做法是,所有的启动命令都使用linux的crontab,但是因为任务过多,所以crontab里的内容越来越多,不好管理,改时间也不方便,所以这里写脚本进行管理。

同时为了方便查看任务,每个任务的名字,将当前时间的时分拼接到yarn的任务的name上。

linux拼接字符串

这个就涉及到了linux获取当前时间和拼接字符串的问题了。本人不是主攻这个方向,所以就是边百度边写,获取时间:

time1=$(date  "+%Y_%m_%d-%H_%M")
echo $time1

linux拼接字符串的规则:

#!/bin/bash
name="shell"
url="Http://c.biancheng.net/shell/"
str1=$name$url  #中间不能有空格
str2="$name $url"  #如果被双引号包围,那么中间可以有空格
str3=$name": "$url  #中间可以出现别的字符串
str4="$name: $url"  #这样写也可以
str5="${name}Script: ${url}index.html"  #这个时候需要给变量名加上大括号
echo $str1
echo $str2
echo $str3
echo $str4
echo $str5

运行结果:

Shellhttp://c.biancheng.net/shell/
Shell http://c.biancheng.net/shell/
Shell: http://c.biancheng.net/shell/
Shell: http://c.biancheng.net/shell/
ShellScript: http://c.biancheng.net/shell/index.html

对于第 7 行代码,$name 和 $url 之间之所以不能出现空格,是因为当字符串不被任何一种引号包围时,遇到空格就认为字符串结束了,空格后边的内容会作为其他变量或者命令解析。

命令行里拼接字符串

获取到date了,拼接进命令行就行。

这里先举个其他例子:

name="abc"
touch /home/$name

这样等同于 touch /home/abc。

如果涉及到拼接的字符串前后都还有内容:

name="abc"
touch /home/${name}123

这样等同于 touch /home/abc123。

我碰到的问题

按理说万事俱备,只欠东风。我将命令写成了:

 time1=$(date  "+%Y_%m_%d-%H_%M")
 ... "name":"abc${time1}" ...

但是执行以后去yarn的ui去看,任务名字不是我想像的前缀加时间,而是abc${time1},非常郁闷,想不通,开始找哪里出问题了。

最后发现,问题出在了引号上。

name那条语句,是被单引号括起来的,shell脚本中,在单引号里,变量是不被替换的,问题出在这里了。那么如何解决呢?

 time1=$(date  "+%Y_%m_%d-%H_%M")
' ... "name":"abc'${time1}'" ...'

把变量排除在单引号之外即可。

单引号的一些注意的地方

在单引号中的任何字符都会原样输出,单引号字符串中的变量是无效的。

#!/bin/bash

name="abc"
echo '123 $name' 
echo '在单引号中使用\"$name\"也是没有用的哦'

输出:

123 $name

在单引号中使用\"$name\"也是没有用的哦

顺便说一下,shell脚本中字符串可以使用双引号、单引号、不使用引号来定义。在不使用引号的情况下字符串中间不可以有空格。

#!/bin/bash
a="aaa";
b='bbb';
c=ccc
echo $a
echo $b
echo $c

执行脚本输出:

aaa
bbb
ccc

到此这篇关于linux shell将变量拼接到命令中的文章就介绍到这了,更多相关linux shell变量拼接内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: linuxshell将变量拼接到命令中

本文链接: https://lsjlt.com/news/212655.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • linuxshell将变量拼接到命令中
    目录linux拼接字符串命令行里拼接字符串我碰到的问题单引号的一些注意的地方有这个一个场景:需要写多个定时任务提交到yarn,这些任务都是同一时间启动的。原先的做法是,所有的启动命令...
    99+
    2023-05-19
    linux shell变量拼接 shell变量拼接命令
  • linux shell将变量拼接到命令中
    目录linux拼接字符串命令行里拼接字符串我碰到的问题单引号的一些注意的地方有这个一个场景:需要写多个定时任务提交到yarn,这些任务都是同一时间启动的。原先的做法是,所有的启动命令都使用linux的crontab,但是...
    99+
    2023-05-06
    linux shell变量拼接 shell变量拼接命令
  • LinuxShell字符串变量拼接与赋值的使用
    目录1.字符串拼接2.定义值为双引号或单引号的字符串3.在单引号和双引号字符串中取变量值最近在工作用到shell脚本,用到了字符串变量的拼接,同时需要对字符串进行赋值,这里与大家分享...
    99+
    2023-05-19
    Shell字符串变量拼接 Shell字符串变量赋值
  • 怎么在python中拼接变量
    怎么在python中拼接变量?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、...
    99+
    2023-06-14
  • shell中怎么将命令结果赋值给变量
    在Shell中,可以通过使用反引号或`$()`将命令的结果赋值给变量。在使用反引号时,可以将命令放置在反引号(`)之间。例如:```...
    99+
    2023-09-16
    shell
  • linux系统下如何将php和mysql命令加入到环境变量中
    本篇内容主要讲解“linux系统下如何将php和mysql命令加入到环境变量中”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux系统下如何将php和mysql命令加入到环境变量中”吧!方法...
    99+
    2023-06-13
  • mysql中怎么拼接存储过程变量
    mysql中怎么拼接存储过程变量,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。存储过程变量的拼接 有时候我们需要模糊查询,但是同时我...
    99+
    2024-04-02
  • 如何使用source命令将函数和变量导入Bash
    小编给大家分享一下如何使用source命令将函数和变量导入Bash,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!source 就像 Python 的 import...
    99+
    2023-06-15
  • PHP 中如何将变量传递到下一页
    PHP 变量是等于某一值的符号或名称。它用于存储值,例如值,数字,字符或内存地址,以便可以在程序的任何部分中使用它们。一个简单的变量可以在程序的任何部分中使用,但是在它的外部无法访问,除非它通过 HTML ...
    99+
    2024-02-27
  • linuxfind命令将查找到的文件批量删除方法
    目录linux find命令将查找到的文件批量删除Linux中find三种删除方式,常用于crontab定时任务和shell脚本0、按文件类型查找1、按文件名查找2、按文件时间属性查...
    99+
    2022-12-08
    linux find删除文件 linux find命令用法 linux find命令
  • sql中变量声明的命令是什么
    sql 中变量声明的命令为 declare,用于声明变量以存储临时数据。语法:declare variable_name data_type [(size)] [default defa...
    99+
    2024-05-07
  • linux find命令将查找到的文件批量删除方法
    目录linux find命令将查找到的文件批量删除Linux中find三种删除方式,常用于crontab定时任务和shell脚本0、按文件类型查找1、按文件名查找2、按文件时间属性查找3、按指定目录深度查找4、排除指定子...
    99+
    2022-12-08
    linuxfind删除文件 linuxfind命令用法 linuxfind命令
  • DOS批处理中FOR命令中的变量有哪些
    这篇文章主要介绍DOS批处理中FOR命令中的变量有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先把FOR的变量全部列出来:     ~I   ...
    99+
    2023-06-08
  • python如何将列表元素存储到新变量中
    小编给大家分享一下python如何将列表元素存储到新变量中,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!将列表元素存储到新变量中我们可以使用一个列表来初始化一个 ...
    99+
    2023-06-27
  • 如何在MySQL命令行中显示变量的值?
    要显示变量的值,可以使用 select 语句。语法如下 -SELECT @yourVariableName;让我们首先创建一个变量。这可以使用 SET 命令来完成。以下是创建变量的语法 -SET @yourVariableName = yo...
    99+
    2023-10-22
  • 使用Python将数组的元素导出到变量中(unpacking)
    解决的问题 需要将数组(list)或元组(tuple)中的元素导出到N个变量中。 解决的方案 任何序列都可以通过简单的变量赋值方式将其元素分配到对应的变量中,唯一的要求就是变量的数量和结构需要和序列中的结...
    99+
    2022-06-04
    数组 变量 元素
  • 如何将Linux终端中命令输出保存到文件中
    这篇文章主要介绍了如何将Linux终端中命令输出保存到文件中的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何将Linux终端中命令输出保存到文件中文章都会有所收获,下面我们一起来看看吧。方法 1:使用重定向将...
    99+
    2023-06-28
  • Shell中变量作用域的介绍与使用命令
    前言 众所周知Shell 中的变量只作用于当前进程。如需在子进程中创建副本可使用 export 内建命令。 有时使用临时变量语法可以非常方便。 变量使用 任何地方都可以定义 Shell 变量,使用 =...
    99+
    2022-06-04
    变量 命令 作用
  • awk命令中的字段、记录和变量怎么用
    这篇文章将为大家详细讲解有关awk命令中的字段、记录和变量怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(...
    99+
    2023-06-28
  • Linux系统中如何将Linux命令放到后台运行
    这篇文章主要介绍了Linux系统中如何将Linux命令放到后台运行,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。“命令 &”,把命令放入后台执行第一种把命令放入后台的...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作