bashスクリプト内からシンボリックリンクの対象を変更したいのですが。問題は、シンボリックリンクが非常に重要であり(/bin/sh
つまり、)、次のような方法で行うことです。
- 古いターゲットを削除するとすぐに新しいターゲットが使用可能になります。つまり、何かがターゲットの消失に気付く可能性はありません。
- 変更が途中で失敗する可能性はありません。つまり、シンボリックリンクが削除され、新しいシンボリックリンクがないユーザーが残ります。
2つの方法を考えました。プレーンを使用するln
:
ln -fs /bin/bash /bin/sh
または使用mv
:
ln -s /bin/bash /bin/sh.new
mv /bin/sh.new /bin/sh
どちらが私のニーズに合うでしょうか?それらの1つがシンボリックリンク自体ではなくシンボリックリンクターゲットを置き換えようとする可能性はありますか?