我正在编写一个Shell脚本,用户将把路径传递给JAVA_HOME作为参数.我想检查JAVA_HOME路径是否有效.那么如何检查传递的输入路径是否是exe文件(Unix可执行文件)?假设用户是否传递/ usr/bin/java - 如果用户传递了/usr/bin/test.txt(某些文本文件),那么它是有效的 - 这是无效的.那么如何检查文件是否为Unix可执行文件类型?
我尝试使用-x,猜测这不是仪式检查,因为它也为/ usr/bin返回true!
最简单的方法是使用file命令.
$ file /usr/bin
/usr/bin: directory
$ file /usr/bin/java
/usr/bin/java: Mach-O universal binary with 2 architectures
/usr/bin/java (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/java (for architecture i386): Mach-O executable i386
$
Run Code Online (Sandbox Code Playgroud)
您可以只输出file合适字符串的输出,例如"可执行".
| 归档时间: |
|
| 查看次数: |
4025 次 |
| 最近记录: |