У меня есть скрипт:
echo "start"
cd ~/GoogleDrive/
drive push path-to-file/
echo "done"
, который загружает путь к файлу в мою учетную запись Google Drive. Я могу без проблем запустить этот скрипт с помощью sh UploadToDrive.sh
, но когда я пытаюсь выполнить его с помощью двойного щелчка по скрипту, я получаю сообщение об ошибке
start
/home/user/UploadToDrive.sh: 3: /home/user/UploadToDrive.sh: drive: not found
done
Я разместил его здесь, потому что кажется, что Gnome делать что-то неправильно, а не что-то не так со скриптом, так как он работает, когда я использую sh
или ./
явно. Я использую Ubuntu 15.10 с Gnome 3, если это уместно.
Начиная с того .sh
расширение является только подсказкой для пользователей (да, Linux не танцует в строке выполнения расширения yada yada как окна), Ваш сценарий испытывает недостаток в столь же первой строке хижины, таким образом, Вы пишете сценарий, должен быть похожим на это:
#!/bin/bash
echo "start"
#you might want to use explicit paths here this is why your script fails
cd /home/username/GoogleDrive/
#you might want to use explicit paths here this is why your script fails
drive push path-to-file/
echo "done"
После того изменения удостоверяются, что Ваш файл имеет верные полномочия:
chmod 755 UploadToDrive.sh
И наконец включают выполнение в GUI путем движения в свойства сценариев: