问题:
我bash
使用以下命令创建了 SSHFS 挂载/卸载脚本:
1| dir=$(mktemp -d)
2| sshfs user@server $dir
3| cd $dir
4| bash
5| fusermount -u $dir
6| rmdir $dir
一旦执行这些行,第 5 行就会发生错误fusermount -u $dir
并显示以下消息:
fusermount: failed to unmount /home/tmp/tmp.xxxxxxxxxx: Device or resource busy
在警告信息中,/home
被添加到路径前面,而不仅仅是/tmp/tmp.xxxxxxxxxx
。有趣的是,rmdir
然后给出了这样的消息:
rmdir: failed to remove '/tmp/tmp.xxxxxxxxxx': Device or resource busy
... 表明$dir
仍然具有 的价值/tmp/tmp.xxxxxxxxxx
。
问题:
为什么当资源繁忙时要在路径前面fusermount
添加内容?/home
答案1
显然,这是解决这个问题的正确版本:
1| dir=$(mktemp -d)
2| sshfs user@server $dir
3| cd $dir
4| bash
5| cd ..
6| fusermount -u $dir
7| rmdir $dir