今天在调试shell脚本的时候发现总是报下面这个错误
unlink: cannot unlink ‘killsess.sql’: No such file or directory
vi这个log文件的时候,还显示乱码
最后发现是因为在perl里运行这个shell命令的时候导致的
ssh $nodename "cd $home;unlink $killsql"
;
结论:unlink在文件不存在的时候会报错,如果结合ssh执行的话,则会出现可能是全角的单引号。
将unlink替换为rm -f 可解决问题
[crsusr@slcz01db04 20200608]$ cat stop_cf2020607_141912_20200608_084741.log
unlink: cannot unlink ‘killsess.sql’: No such file or directory
unlink: cannot unlink ‘killsess.sql’: No such file or directory
cat能正确展示的字符,在vi的时候会显示为乱码
unlink: cannot unlink �~@~Xkillsess.sql�~@~Y: No such file or directory
unlink: cannot unlink �~@~Xkillsess.sql�~@~Y: No such file or directory