(测试环境:Mint 19.0xfce+thunar)
利用此脚本搭配自定义动作可以添加自定义右键菜单
在canimon的nemo文件管理器中,右键菜单中带有返回软链接源位置的命令的,但是在xfce默认的thunar中这个命令没有。有时候这个功能还是比较好用。所以自己动手添加这个菜单。对于文件和目录要分开处理,目录是可以直接用thunar命令来打开,而文件需要将文件名称剔除后再用thunar打开。
经过测试,发现mint对于if判断软链接类型有点怪异(不知道其他的linux是不是也是这样),正常的文件软链接用 -h或者用-L都可以,但是目录软链接就很特殊,如果你先用d来判断,它就认为自己是一个目录,如果你先用h来判断,那么它就认为自己是一个软链接,这货态度很随意!解决的办法是先判断是否为目录,如果不是目录,那么就是文件。if的特点是只要到了符合位置执行完,然后就不管后面的判断了。(这个地方足足折腾了几个小时。)
另外可以通过ls -ld 对象输出的第一个字符来判断,d为目录,-为文件,l为软链接,同样需要先判断软连接之后再判断是否为目录还是文件;
算是基本完美的代码。
#/bin/bash
#thunar文件管理器菜单增加跳转源目录功能;
#2020.02.24 laoyao
if [ -L "$1" ] ; then #该参数为L或者h均可。
if [ -d "$1" ]; then #表示软链接目录,同样是软链接判断,目录优先于文件
var1=`ls -l -d "$1"`
var2=${var1#*->}
thunar $var2
elif [ -h "$1" ] ; then #表明这是一个软链接文件
var1=`ls -l -d "$1"`
var2=${var1#*->}
var3=${var2%/*}
thunar $var3
fi
fi