/var/www/html/
Debian-ApacheのWebアプリケーション文書のルートは一般的に/srv/http/
。
デプロイ指向のドキュメントルートが何であるかをテストするために必要なデプロイメントに依存しないLAMPビルドスクリプトを作成し(そのディレクトリの存在に応じて)、スクリプトがtrue
終了するまで使用し続けます。
私は通常これをdrt="/var/www/html"
行いますが、変数制御フローを次の擬似コードのように作成する必要があります。
drt="/var/www/html XOR /srv/http"
もちろん、2つ以上のオプションのうちの1つだけが正しいので、これはXOR条件に基づいている必要があります。
Bashでこれを行う方法はありますか?
答え1
配布指向のドキュメントルートが何であるかをテストするために必要です(ディレクトリが存在するかどうかに応じて)。
次の 2 つのオプションを使用して、そのオプションが存在するかどうかを確認できます。[ -d dir ]
if [ -d /var/www/html ]; then
drt=/var/www/html;
elif [ -d /srv/http ]; then
drt=/srv/http
else
echo "No HTTP server root directory found"
exit 1
fi
またはループを使用してください。
drt=
for d in /var/www/html /srv/http; do
if [ -d "$d" ]; then
drt=$d;
break
fi
done
if [ -z "$drt" ]; then
echo "No HTTP server root directory found"
exit 1
fi
もちろん、これらすべては実際にディストリビューションのデフォルトのドキュメントルートを使用していると仮定していますが、そうではないかもしれません。ユーザーにスクリプトで見つかったディレクトリが正しいことを確認する機会を提供するのは悪い考えではないかもしれません。