Учитывая путь, проверьте, если его применение

Я делаю небольшую вещь .desktop создатель, где пользователи предоставляют путь. Путь может быть ссылкой на приложение или каталог. Есть ли прямой способ проверить, есть ли приложение? Я могу сделать тест, если это каталог.

Благодаря

0
задан 6 September 2015 в 05:35

2 ответа

См. 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
0
ответ дан 6 September 2015 в 15:35
  • 1
    Пакет установлен. Я также пытался искать флажок, но couldn' t находят его там. – mindreader 26 November 2016 в 16:27

Тест, если это - приложение? Можно проверить, чтобы видеть, является ли это исполняемый файл:

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

возвратится 0 если не исполняемый файл или положительное целое число если исполняемый файл.

0
ответ дан 6 September 2015 в 15:35
  • 1
    Спасибо за справку. Но я получаю эту ошибку при попытке скомпилировать: – Chris 27 November 2016 в 07:51

Другие вопросы по тегам:

Похожие вопросы: