给定一条路径,测试其应用

给定一条路径,测试其应用

我正在制作一个小型的 .desktop 创建器,用户可以在其中提供路径。路径可以是链接应用程序或目录。有没有直接的方法来测试它是否是应用程序?我可以测试它是否是目录。

谢谢

答案1

请参阅man bash,您可以执行以下操作:

   -a file
          True if file exists.
   -d file
          True if file exists and is a directory.
   -e file
          True if file exists.
   -f file
          True if file exists and is a regular file.
   -u file
          True if file exists and its set-user-id bit is set.
   -x file
          True if file exists and is executable.
    -L file
          True if file exists and is a symbolic link.

还有很多很多。

file您还可以使用命令(参见)查看文件“内部”man file以获取更多信息。

而不是解析输出ls(这总是会导致最终的混淆),而应该使用/usr/bin/stat -c "%a %n" filename

$ stat -c "%a %n" .bashrc
700 .bashrc

答案2

测试它是否是一个应用程序?你可以检查它是否可执行:

ls -l {path} | cut -d " " -f 1 | grep -c x

如果不可执行则返回 0,如果可执行则返回正整数。

相关内容