次のコマンド置換操作を実行するにはどうすればよいですか?
$ time
real 0m0.000s
user 0m0.000s
sys 0m0.000s
$ oldtime="$(time)"
bash: command substitution: line 23: syntax error near unexpected token `)'
bash: command substitution: line 23: `time)"'
1行の出力が動作するため、コマンド出力に複数行があるため動作しないようです。
$ oldtime="$(echo hello)"
$ echo $oldtime
hello
ベストアンサー1
time
stdoutには何も記録されていないので、何をキャプチャしたいのかわかりません。
$ time > tmpfile
real 0m0.000s
user 0m0.000s
sys 0m0.000s
そして、あなたは実際に何も「時間」を測定しません。
oldtime="$(time echo)"
エラーは発生しませんが、まだ時間を標準出力に出力します。
次のようなことをしたいかもしれません。
$ oldtime="$( { time ; } 2>&1 )"