『WP-CLI Advent Calendar』10日目担当の @tecking です。
前回(3日目)に書いた記事「レンタルサーバに『WP-CLI』をサクっと入れるシェルスクリプト作ってみたよ」が思いのほか好評で舞い上がってしまったので、今週もレンタルサーバ絡みのネタを書くことにしました。
しかも今回のネタは『さくらのレンタルサーバ』向け。ニッチ感きわまりない内容ですね我ながら。
その前に『WP-CLI』のすごいトコ
こまごまと挙げるのもはばかられる高機能っぷりでひっくり返ることこの上ない『WP-CLI』。ここではあえて
強力な入力補完機能
を挙げたいとおもいます。入力補完とは、黒い画面で
mkd [tab]
と打ったときに([tab] はタブキーの入力を示す)
mkdir mkdosfs
とコマンドの候補を出してくれたり
cd /home/ [tab]
で
foo/ bar/ baz/
みたいにディレクトリ候補を出してくれたりと、キー入力の手間を極力省いてくれる機能です。
同様の機能は『WP-CLI』にも備わっています。たとえば
wp [tab]
と打ってみると
cache db media rewrite site widget cap eval menu role super-admin cli eval-file network scaffold term comment export option search-replace theme core help plugin shell transient cron import post sidebar user
とコマンド一覧を出してくれたり、さらに
wp core install
でタブを何回か打ってみると
--admin_email= --admin_password= --admin_user= --title= --url=
と必要なパラメータをずらっと並べてくれたり。かゆいところに手の届く充実っぷりで、コマンドマニュアルを参照する回数も減るってもんです。
ところが! 素の『さくら』だとこの機能が使えません。それは、『さくら』がデフォルトで採用している「シェル」に理由があるからです。
シェル変更で『さくら』でも補完機能を有効化
Wikipediaの「シェル」の項を引用してみます。
シェル (shell) はオペレーティングシステム (OS) のユーザーのためにインタフェースを提供するソフトウェアであり、カーネルのサービスへのアクセスを提供する。それだけではなく、この用語は非常にゆるやかに応用され、特定のコンポーネントの周辺に構築された任意のソフトウェアを含むこともある。例えば、ウェブブラウザや電子メールクライアントはHTMLレンダリングエンジンの「シェル」といわれることがある。OSの内部(カーネル)とユーザーの間にある外殻であることから、このように呼ばれる。
ざっくりいうと、mkdir なり cd なり wp なりの命令を実行する場面で活躍するのがシェル。ただ、シェルの種類は多岐にわたり機能もさまざまで、「レンタルサーバだったら必ずこのシェル」というものでもありません。見た目同じような黒い画面なんですけどね。
(参考:Wikipediaの「Unixシェル」の項)
『WP-CLI』の補完機能を実現してくれるのは、シェルの一つ「bash(Bourne-Again shell)」。ところが素の『さくら』では「csh(C Shell)」がデフォルトで、『WP-CLI』を入れたところで強力な補完機能を使うことができません。
(厳密には bash 環境下で使える wp-completion.bash のおかげ)
ということで、『さくら』のシェルを csh から bash に切り替えて『WP-CLI』をさらに使い倒すことにしましょう。
作業の手順
「レンタルサーバに『WP-CLI』をサクっと入れるシェルスクリプト作ってみたよ」の記事に沿って、すでに『WP-CLI』が導入されていると想定します。
- 契約しているサーバのホームディレクトリ(www とか MailBox ディレクトリのある階層)に SSH でログインしたら、下記を実行してシェルを csh から bash に変更
chsh -s /usr/local/bin/bash Password: {ログインパスワードを入力}
- chsh: user information updated のメッセージを確認したら、いったんログアウト
exit
- 再ログインして下記を実行
echo $SHELL
/usr/local/bin/bash と返ってくればOK
- 「レンタルサーバに『WP-CLI』をサクっと入れるシェルスクリプト作ってみたよ」の記事に沿って wp-cli.setup.sh を再度実行
ご留意事項
- 何度も動作確認はしていますが At Your Own Risk にてお使いください
- bash への変更で csh のときに使えたエイリアスなど(例:ll で ls -lA が実行される)が無効になるので、適宜 ~/.bash_profile, ~/.bashrc を編集してください(すいません詳細はGoogle先生に!)
ではでは、ハッピーなWP-CLIライフを! 『WP-CLI Advent Calendar 2014』次の日直(12月11日)は @wokamoto さんです。
(photo by Eduardo Rodríguez Recio CC BY-NC-SA)
コメントを残す