TL;DR
うまいこと言おうとして適当に肉付けしたら記事全体が破綻してたので、結論からぶっちゃけると、 サブシェルとか使うとなんかプロっぽく見えてちょっといいねと思っただけです。
( shopt -s dotglob; mv /tmp/wordpress/* ${dest_dir}/public_html; )
前提
- プレーンなCentOS
- プレーンなBash
NG
下記の挙動が要求・許容される場合はほぼないだろう
- ${dest_dir}/public_html が存在する場合: wordpressディレクトリがhtmlディレクトリとして移動
- そうでない場合: ${dest_dir}/public_html/wordpress として移動される
mv /tmp/wordpress ${dest_dir}/public_html
NG?
だいたい大丈夫だけど、移動元にドットファイルが含まれる場合はNG。 Bashのグロブはデフォルトだとドットファイルにマッチしないのです。
mkdir -p ${dest_dir}/public_html mv /tmp/wordpress/* ${dest_dir}/public_html
$ shopt | grep dotglob dotglob off
$ echo * | egrep -o "\..*" (からっぽ)
$ shopt -s dotglob $ echo * | egrep -o "\..*" .bash_history .bash_profile .ssh ...
OK
Bashのオプションを変えて、グロブがドットファイルにマッチするようにしまそ。
shopt -s dotglob mkdir -p ${dest_dir}/public_html mv /tmp/wordpress/* ${dest_dir}/public_html
シェルスクリプト内でちょろっと仕込みたいが予期せぬ副作用が怖い場合は、サブシェルでやればいいんでは?
( shopt -s dotglob; mv /tmp/wordpress/* ${dest_dir}/public_html; )