我有一个符号名称java或jre或jre1.5或jre1.6或java1.5或java1.6,它们将指向相应的目录.考虑到第一个例子,它看起来像:
java -> /usr/java/jdk1.5.x.x
Run Code Online (Sandbox Code Playgroud)
我的目标如下:
链接将在/ usr/tmp中.
我在Perl中编写了一些代码,如下所示:
$filename = "/usr/local/java";
if (-l $filename) {
print "File exists \n";
} else {
print "Not \n";
}
Run Code Online (Sandbox Code Playgroud)
但是如果java不存在而且存在java1.4或java1.5,我想搜索哪个应该以java开头并且是符号链接.
此外,我需要获取它指向的目录.请告知如何继续.
Mic*_*rny 10
首先,您确定不想使用${JAVA_HOME}环境变量吗?
您可以使用内置readlink()函数读取符号链接目标.
要检查其他可能性,您可以对它们进行硬编码并逐个检查是否存在,使用opendir()/ readdir()builtins或objective IO::Dir查找目录中的所有符号链接并检查它们是否匹配或模式,甚至glob()可以在您的情况下更简单的功能.
| 归档时间: |
|
| 查看次数: |
10237 次 |
| 最近记录: |