刷新陈旧的符号链接linux

时间:2012-02-23 15:53:49

标签: linux bash release

有没有办法在符号链接更改或过时后刷新符号链接?

我有一个指向链接的脚本说:

/apps/myapps/release/current/....

其中current是指向最新版本的符号链接

稍后我尝试以类似

的方式使用此链接
apps/myapps/release/current/scripts/start.sh

但如果我将此current作为工作目录,则更改链接不会改变任何内容。

为了使此更改生效,我必须cd到apps / myapps / release,然后返回scripts才能访问start.sh

我相信一定有更好的方法。

3 个答案:

答案 0 :(得分:7)

也许

cd `pwd`

会很完美。我来看看:

cd /tmp
mkdir a
mkdir b
touch a/OLD
touch b/NEW
ln -snf a cur
cd cur
ls # shows OLD
ln -snf b /tmp/cur
ls # shows OLD
cd `pwd`
ls # shows NEW

答案 1 :(得分:3)

你问题中的措辞有点模糊,但从你问题的标题来看,我的回答是:

ln -f -s /apps/myapps/new/link/target mylink

答案 2 :(得分:1)

cd `pwd`
当您在脚本正在更新的符号链接中时,

将不起作用。我为解决这个问题所做的是:

PROMPT_COMMAND="cd \`pwd\`"