LPIC問題:841-844

LPIC練習問題

問題841:bashスクリプトで、現在のシェル変数を環境変数に昇格するコマンドは?

A) set
B) export
C) env
D) declare

解答解説を開く
正解)B

【解説】
A) set
誤りです。setはシェル変数の設定を確認するためのコマンドです。
B) export
正解です。exportを使用することで、シェル変数を環境変数として他のプロセスに引き継ぐことができます。
C) env
誤りです。envは環境変数を一覧表示するコマンドです。
D) declare
誤りです。declareは変数の属性を指定しますが、環境変数にはしません。

問題842:MySQLのプロセスmysqldを監視し、停止した際にrootユーザーに通知メールを送信するコマンドとして正しいものはどれか?

A) echo 'mysqld is down !!' | mail -h 'mysqld alert' root
B) mail -m 'mysqld alert' root -body 'mysqld is down !!'
C) echo 'mysqld is down !!' | mail -b 'mysqld alert' root
D) echo 'mysqld is down !!' | mail -s 'mysqld alert' root

解答解説を開く
正解)D

【解説】
A) echo 'mysqld is down !!' | mail -h 'mysqld alert' root
誤りです。-hオプションはmailコマンドでは使用されません。
B) mail -m 'mysqld alert' root -body 'mysqld is down !!'
誤りです。-mオプションは正しい構文ではありません。
C) echo 'mysqld is down !!' | mail -b 'mysqld alert' root
誤りです。-bオプションは存在せず、正しい構文ではありません。
D) echo 'mysqld is down !!' | mail -s 'mysqld alert' root
正解です。mailコマンドの-sオプションを使用して件名を指定しています。

問題843:SQL文でuserテーブルにデータを挿入する際の正しい構文はどれか?

A) INSERT INTO user VALUES(username,email,password) ('foo','foo@bar.com','pass');
B) INSERT INTO user(username,email,password) VALUES('foo','foo@bar.com','pass');
C) INSERT user(username='foo',email='foo@bar.com',password='pass');
D) INSERT user SET(username,email,password) VALUES('foo','foo@bar.com','pass');

解答解説を開く
正解)B

【解説】
A) INSERT INTO user VALUES(username,email,password) ('foo','foo@bar.com','pass');
誤りです。VALUESの位置が正しくありません。
B) INSERT INTO user(username,email,password) VALUES('foo','foo@bar.com','pass');
正解です。正しいSQL文でデータを挿入しています。
C) INSERT user(username='foo',email='foo@bar.com',password='pass');
誤りです。INSERT INTOの形式を使用する必要があります。
D) INSERT user SET(username,email,password) VALUES('foo','foo@bar.com','pass');
誤りです。このようなSET構文は正しくありません。

問題844:SQL文でuserテーブルのdepartmentカラムを昇順に並び替えて表示する正しい構文はどれか?

A) SELECT * FROM user SORT BY department ASC;
B) SELECT * FROM user ORDER BY department ASC;
C) SELECT * FROM user ORDER department ASCENDING;
D) SELECT * FROM user SORT BY department;

解答解説を開く
正解)B

【解説】
A) SELECT * FROM user SORT BY department ASC;
誤りです。SORT BYではなく、ORDER BYが正しい構文です。
B) SELECT * FROM user ORDER BY department ASC;
正解です。正しい構文で並び替えを実現しています。
C) SELECT * FROM user ORDER department ASCENDING;
誤りです。ASCENDINGは使用されません。
D) SELECT * FROM user SORT BY department;
誤りです。SORT BYはSQLで使用されません。