また微妙な記事

シェル上でのエスケープ処理について

 MySQLをインストールする前に、念のためMySQLがインストール済みかどうかをrpmコマンドで確認します。
# rpm -qa mysql*
mysql-server-5.0.27-1.fc6
mysql-5.0.27-1.fc6
mysql-devel-5.0.27-1.fc6
(省略)
MySQLがすでにインストールされている場合

 MySQLの新規インストールや関連パッケージの追加インストールは、以下のようにyumコマンドで実行します。
# yum install mysql*

ですが,「ローカルにワイルドカードが展開されるファイルがないことが前提」のサンプルになります.

例えばこのようにカレントディレクトリにmysqlで始まるファイルがない場合はおおよそいたとおりの表示になります.

$ mysql*
ls: cannot access mysql*: No such file or directory
$ rpm -qa mysql*
mysqlclient14-4.1.14-4.2
mysql50-5.0.33-1.ELF
mysql50-client-5.0.33-1.ELF
mysqlard-1.0.0-1
mysqlclient14-devel-4.1.14-4.2
mysql50-server-5.0.33-1.ELF
mysqlclient10-3.23.58-9.2
mysqlclient10-devel-3.23.58-9.2
mysql50-devel-5.0.33-1.ELF

それでは適当にローカルにファイルを置いてみましょう.
その結果意図しない表示になります.

$ touch mysql-server-5.0.27-1.fc6.i386.rpm
$ rpm -qa mysql*

例えばカレントディレクトリにあらかじめファイルをダウンロードしておき,メンテナンスを使用する人は上記のような期待しない,あるいは意図しない結果が出てきてしまうことになります.
気をつけてね.

initscriptについて

サービスの起動/停止は、以下のようにinitスクリプトを利用します。
# /etc/init.d/mysql start

そのinitscript名間違ってませんか? mysqlって名前はmysql.comのRPMからインストールしたときのinitscriptでFedora Core/Fedoraに含まれるRPMには含まれていません.

$ rpm -qlp mysql-server-5.0.33-1.fc7.i386.rpm | fgrep init.d
/etc/rc.d/init.d/mysqld

ついでに今ならserviceコマンド使って欲しいところです.

# /sbin/service mysqld start

# /usr/bin/mysqld_safe --user=mysql &
コマンドラインからMySQLを起動する場合

これはこれで有益な情報ではあるけど,なんで突然mysql.comからとってきたのは突然initscriptを使わないのか.
ちょっと上ではmysql.comのinitscript名で説明してるのに(苦笑

ショートタグじゃないと1行にできない?

サンプル1のように、PHPスクリプトは最低3行から成り立っています。しかし、ショートタグといわれる「」を利用すると1行スクリプトを作成できます。

これは

<?php
phpinfo();
?>

がショートタグだと

<? phpinfo(); ?>

と書けるという説明.
いやその

<?php phpinfo(); ?>

でいいんじゃないでしょうか(苦笑

まとめ

多分この人昔の知識だけでやりくりしてる人じゃないでしょうか.
お疲れ様です.