有没有办法在符号链接更改或过时后刷新符号链接?
我有一个指向链接的脚本说:
/apps/myapps/release/current/....
其中current是指向最新版本的符号链接
稍后我尝试以类似
的方式使用此链接apps/myapps/release/current/scripts/start.sh
但如果我将此current
作为工作目录,则更改链接不会改变任何内容。
为了使此更改生效,我必须cd到apps / myapps / release,然后返回scripts
才能访问start.sh
。
我相信一定有更好的方法。
答案 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\`"