这个命令做了一些事情
- sudo为'ln'二进制文件提供root权限
- ln被指示浏览所有匹配模式的文件/ opt / local / somesoft / somsoft *
- 对于每个此类文件,它尝试在/ opt / local / bin目录中创建符号链接
- 此创建的符号链接将与刚刚处理的文件具有相同的名称
你的第一个问题是,它有危险吗?很可能不是,很少有可能出错的事情
- 您的$ PATH环境包含一些奇怪的目录,因此您不会调用/ usr / bin / ln(我相信的初衷),您将被欺骗调用一些不同的可执行文件。例如,如果您的PATH =。:/ tmp:/ usr / bin,首先在当前目录中搜索“ln”,然后在/ tmp中搜索,然后在/ usr / bin中搜索。它以超级用户权限调用...
- 没有/ opt / local / somesoft / somsoft *这样的文件。在这种情况下,ln将创建符号链接'/ opt / local / bin / somsoft *'(包括其名称中的星号)。这可能不是你想要的
- / opt / local / bin已包含与/ opt / local / somesoft / somsoft *同名的文件。在这种情况下,ln不会在那里创建新文件(是好还是坏?这是问题)
- 您没有/ opt / local / bin。在这种情况下,命令失败的方式有多种(取决于您是否有/ opt / local目录以及有多少文件匹配模式/ opt / local / somesoft / somsoft *)
你的第二个问题没有多大意义。 / opt / local / bin是一个目录,目录不能“调用”任何东西。因此无法阻止这样做。如果你问是否应该在那里创建符号链接,我会说为什么不呢。该命令背后的整个想法是
- 将somesoft安装到特殊目录中,这样就不会污染/ usr / bin或任何其他公共目录
- 能够运行命令而无需每次指定完整路径/ opt / local / somesoft / somsoft ...您可能想在/ opt / local / bin中创建符号链接。并确保您的/ opt / local / bin位于您的目录中。