Я делаю небольшую вещь .desktop создатель, где пользователи предоставляют путь. Путь может быть ссылкой на приложение или каталог. Есть ли прямой способ проверить, есть ли приложение? Я могу сделать тест, если это каталог.
Благодаря
См. 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
Тест, если это - приложение? Можно проверить, чтобы видеть, является ли это исполняемый файл:
ls -l {path} | cut -d " " -f 1 | grep -c x
возвратится 0 если не исполняемый файл или положительное целое число если исполняемый файл.