2つのコマンドの出力をどのように追加してファイルに保存できますか?

2つのコマンドの出力をどのように追加してファイルに保存できますか?

kfsql合計ユーザー数を取得する2つのコマンドがあります。

これら2つのコマンド出力を追加し、次に印刷する必要があります。file.txt

私は試した:

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

ただし、またはvar3コマンドの出力と総数は印刷されません。var1var2

答え1

getdatabase1そして、その数を標準出力として印刷するコマンドであると仮定すると、getdatabase2割り当てを次のように変更できる必要があります。

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

この$(...)構文は、角かっこの間でコマンドを実行し、コマンドをstdout「返し」、ここで変数に保存します。これがなければ、コマンド名は文字列自体として扱われ、変数に割り当てられますが、実行されません。

答え2

次のサブシェルで実行してみましたか?

(getdatabase1; getdatabase2) > file.txt 

うまくいかない場合は、得られている出力または欠落している出力について詳しく説明してください。

関連情報