date コマンドの出力を変数 now に代入したい。正しいコマンド置換はどれか?

LPIC-1(101/102 試験)「シェルとスクリプト」の練習問題。正解と選択肢ごとの個別解説つきで、過去問対策・例題演習に。

LPIC-1 / シェルとスクリプト ・ コマンド問題
$
  1. now=$(date)✓ 正解
  2. now=$date
  3. now=(date)
  4. now="date"
💡 $(...) はコマンド置換で、コマンドの標準出力を値として展開します。等価な旧表記はバッククォート `date` です。now="date" は文字列 date が入るだけです。
○ now=$(date):$(date)はコマンド置換でdateの実行結果を変数に代入できるため正しい。
✕ now=$date:$dateはdateという変数の値を参照するもので、未定義なら空になる。
✕ now=(date):now=(date)は配列代入の構文で、要素が文字列dateになりコマンドは実行されない。
✕ now="date":now="date"は文字列dateを代入するだけで、コマンドは実行されない。
▶ この分野をクイズ形式で解く