gpt4 book ai didi

linux - 如何在 bash 打印字符串中插入 ($x-$y)

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:58:06 29 4
gpt4 key购买 nike

我有这个简单的问题,但我对 bash 语法非常不熟悉;我需要打印这一行,它应该输出类似 Starting 3 more instances 的内容:

echo 'Starting '($2 - $total_running_instances)' more instances'

但我不知道 bash 如何期望我将 x - y 计算链接到字符串的其余部分,我尝试在它们之间放置“+”或“。”就像 PHP 处理字符串一样,如果我尝试这种方式,我会得到语法错误:

echo 'Starting '.($2 - $total_running_instances).' more instances'

echo 'Starting '+($2 - $total_running_instances)+' more instances'

最佳答案

算术扩展(计算算术表达式并扩展其结果)的表示法是$((...))。你可以这样写:

echo "Starting $(($2 - total_running_instances)) more instances"

参见 §3.5.5 "Arithmetic Expansion" in the Bash Reference Manual .

您看到的问题是 (...) 不是算术扩展的表示法,而是在中运行整个 Bash 命令的表示法一个subshell .

关于linux - 如何在 bash 打印字符串中插入 ($x-$y),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26122778/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com