私はsudo /usr/libexec/locate.updatedb
Mac OS X で、スケジュールされたスクリプトが起動して実行されるのを待つのが待ちきれないときに使用します。これは月に 1 回だけだと思います。
Mac OS X は cron/other スケジューラを使用しませんが、代わりに (少なくとも Yosemite 以前は) launchd が使用されます。これはcron
、私の謙虚な意見では、冗長性を少し犠牲にして、より多くのオプションを備えたより粒度の高いものに似ています。
調査したところ、以下のコードが次のように記載されているこのWebサイトを見つけました。
...素晴らしいチャンスの瞬間に、この便利な小さな bash スクリプトに偶然出くわし、思いもよらなかったので、顔をきれいにするところだった.
pushd . > /dev/null
cd /usr/libexec
echo "Updating locate database..."
sudo ./locate.updatedb
echo "Updating complete!"
popd > /dev/null
誰かがこれを説明してくれませんか。それぞれのマニュアルページを読みましたが、利点がわかりません。./locate.updatedb を実行する前に /usr/libexec を実行すると、上記のスクリプトが必要な理由がわかりません。実行可能ファイルに入ってそこから移動できるときに、PATH で別のファイルを管理するのは少し耳障りなようですcd
。