[20210126]bash ln建立软链接问题.txt
--//ln可以用来建立硬链接以及软链接.今天在测试bash shell脚本中遇到一个问题,做一个记录.
$ mkdir -p /home/oracle/fastlink ;cd /home/oracle/fastlink
$ ln -s -i $ORACLE_HOME/dbs dbs
$ ll
total 0
lrwxrwxrwx 1 oracle oinstall 45 2021-01-26 16:18:02 dbs -> /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs
# man ln
-i, --interactive
prompt whether to remove destinations
--//如果测试脚本再次执行呢?
$ ln -s -i $ORACLE_HOME/dbs dbs
--//OK,没有报错.如果继续测试继续执行呢?
$ ln -s -i $ORACLE_HOME/dbs dbs
/bin/ln: replace `dbs/dbs'?
$ ll
total 0
lrwxrwxrwx 1 oracle oinstall 45 2021-01-26 16:20:00 dbs -> /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs
[ ~/fastlink ] $ cd dbs
[ ~/fastlink/dbs ] $ ll -l dbs
lrwxrwxrwx 1 oracle oinstall 45 2021-01-26 16:20:05 dbs -> /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs
--//注意看这样形成了一个环.你可以不断输入cd dbs,可以一直不断进入.
$ pwd
/home/oracle/fastlink/dbs/dbs/dbs/dbs
--//也就是测试重复测试,导致一些问题.因为第一次建立后,再次执行相当于会对应子目录又建立了一个链接.
--//好像这个问题没有什么好的方法解决,简单方法就是先删除再建立,或者执行前做一个判断与检测.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/267265/viewspace-2753238/,如需转载,请注明出处,否则将追究法律责任。