このシェル スクリプトを維持する必要があります。
export DAYDAY=`gdate --date "30 days ago" +"%Y%m%d"`
if [ -d $TMP/AA/$DAYDAY]; then
rm -r $TMP/AA/$DAYDAY
fi
しかし、見つからないため実行できませんgdate
。このコードは、ちょうど 30 日前のログ ディレクトリをクリアするためのものです。
G NUですdate
。BSD 関連のシステムで呼び出さgdate
れ、独自のdate
.
私は 90% が Mac のオフィスで Linux に取り組んでおり、かなりの数の同僚のスクリプトがgsed
や などを参照していgdate
ます。スイッチをオンにしてこれを適切に修正できなかった場合、$OSTYPE
最終的に降伏してこれを実行しました。
sudo ln -s $(which date) /bin/gdate
これは へのシンボリックリンクgdate
ですdate
。
GNU/Linuxにインストールされているバージョンは明らかにGNUバージョンであるgdate
ためgsed
、これは非常に安全ですgtar
。gmake
もちろん、コマンドをエイリアスすることもできますが、これによりユーザーとシェルが引き継がれます。事実上、プログラム全体をエイリアシングしています。
Linux 以外の *nix システムでは、GNU フレーバーのユーティリティがプレフィックスg
( gmake
、gtar
など) を付けてインストールされるのがかなり一般的です。この場合、これはdate
コマンドの GNU フレーバーを指している可能性があります。したがって、Linux を使用しているため、次のように変更するだけdate
です。
export DAYDAY=`date --date "30 days ago" +"%Y%m%d"`
if [ -d $TMP/AA/$DAYDAY]; then
rm -r $TMP/AA/$DAYDAY
fi