当前位置: 首页 > 知识库问答 >
问题:

设置变量并使用sed[duplicate]

祝高超
2023-03-14

我已经想了一个多小时了,但我的搜索并没有帮助我找到答案。

试图在bash脚本中设置变量。这个变量取变量A并从中删除变量B。

Prefix="$(echo ${Process} | sed -e 's/${Server}//g')"

因此,如果进程=abcd1wxyz01和服务器=wxyz01,那么前缀应该是abcd1

我已经尝试了很多次在线搜索的迭代,老实说,我记不起我都尝试了什么。

共有2个答案

柳俊逸
2023-03-14

sed中使用bash变量时,请使用而不是

Prefix="$(echo ${Process} | sed -e "s/${Server}//g")"
echo $Prefix
韩峰
2023-03-14

你的问题是引语,正如afsal_p的回答中指出的。

您可以通过参数展开来实现这一点:

$ process=abcd1wxyz01
$ server=wxyz01
$ prefix=${process%"$server"}
$ echo "$prefix"
abcd1

${word%suffix}扩展从word的末尾删除后缀。

 类似资料:
  • 问题内容: 我一直在网上寻找这个答案,但似乎找不到。 我有一个配置文件,其中包含: 我想将VAR5的值从VALUE5更改为VALUE10。不幸的是,我不知道VALUE5的值,因此无法搜索。因此,基本上我需要使用sed(或其他任何值)将VAR5的值替换为我想替换为的任何值。 问题答案: 您可以尝试使用此sed: 它给:

  • 问题内容: 尝试用sed替换字符串时发生奇怪的事情。这有效: 因此,当我手动键入字符串时,它可以工作。但在以下情况下,不会发生替换: 当我回显这两个变量PATTERN和REPLACEMENT时,它们具有正确的值。 我试图用配置目录中所有文件中的替换字符串替换所有出现的模式字符串。 问题答案: 尝试 代替。’引号不会扩展变量。

  • 问题内容: 我有一个合并语句,该语句应始终更新或插入单个记录。我想记住该语句在变量中的ID。看起来像这样: 现在这不起作用,因为您不能以这种方式在输出子句中设置@int。我知道我可以创建一个模板并在输出中使用 INTO @temptable 。但是由于我 知道 它始终是一条记录,因此我希望将ID包含在INT变量中。这有可能吗?还是我被迫使用表变量。我希望我只是缺少一些语法。 问题答案: 不,您必须

  • 问题内容: 我使用设置全局变量的代码无法正常工作。好像根本没有调用分配,但是没有脚本错误发生。 页面加载后,警报将显示我的期望值。它确认x =1。但是此后,我单击div并得到了一个未定义的JavaScript错误。如何正确添加此变量? 背景:上面的代码是我正在研究的项目中最少复制的示例,我们必须在AJAX响应期间执行javascript代码。大多数时候都能正常工作,但这会引起问题。 问题答案: E

  • 问题内容: 需要基于构建环境配置来设置标签的href值。 例如: 分期应有 产品应具有 当前设置: 生成命令: .env.staging.js: index.html: 在index.html中,这似乎不起作用。虽然类似的设置适用于JS文件 (可能是因为将JS文件解析并捆绑到一个文件中,并且捆绑程序在该时间点读取值) 尝试过的事情: index.html: (类似于PUBLIC_URL变量) 与浏

  • 这与本文有关,但不同之处在于我试图理解为什么我不能从地理定位的内部设置外部变量。getCurrentPosition 我似乎无法从中获得任何类型的返回值,也无法从中设置值。我只能从内部访问position对象。我已经试着把这个传进来了。 我用叉子叉了德里克-朕會功夫's fiddle并修改它:https://jsfiddle.net/TwoFistedJustice/c3qr29L7/1/ 这是另