如何将两个命令的输出相加并将其保存到文件中?

如何将两个命令的输出相加并将其保存到文件中?

我有两个kfsql命令可以获取用户总数。

我需要将这两个命令输出相加并打印到file.txt

我试过:

var1= getdatabase1
var2= getdatabase2
echo "$var1"
echo "$var2"
var3=$((var1+var2)) or var3="$(($var1 + $var2))"
echo"$var3"

var3orvar1var2不会打印命令的输出和总数。

答案1

假设getdatabase1getdatabase2是将其计数打印到标准输出的命令,您应该能够将您的分配更改为

var1=$(getdatabase1)
var2=$(getdatabase2)
var3=$((var1+var2))
printf "%s\n%s\n%s\n" "$var1" "$var2" "$var3" > file.txt

$(...)语法在括号之间运行命令并“返回”stdout该命令的 ,我们在这里将其保存到变量中。如果没有这些命令的名称将被视为字符串本身并分配给变量,但它不会被执行。

答案2

您是否尝试在子 shell 中运行它们,如下所示:

(getdatabase1; getdatabase2) > file.txt 

如果它不起作用,请详细说明您得到的输出或缺少的输出。

相关内容