状況
本番サーバーの /etc/hosts に 1 行追加する作業。既存の行は消してはいけない。sudo echo ... に直接リダイレクトすると権限で失敗するので sh -c を使う。
空欄に入るリダイレクト記号を書いてください。
$ sudo sh -c 'echo "10.0.0.5 api.internal" ____ /etc/hosts'正答
正答
>>解説
> はファイルを空にしてから書き込み、>> は末尾に追記する。ここで > を使うと /etc/hosts は追加した 1 行だけになり、localhost を含む既存の名前解決がすべて消えて、サーバー上のさまざまな処理が失敗する。sudo echo ... >> /etc/hosts と書くと、リダイレクトは sudo の外の一般ユーザーのシェルが行うため権限エラーになる。そのため sh -c で囲むか tee -a を使う。実行前に cp で控えを取る。
参考: www.gnu.org
この問題を含む 危険察知 のテストを制限時間つきで解く
危険察知クイズへ