2015-07-18 4 views
0

Предположим, что я хочу использовать сценарий оболочки для запуска файла python под названием test.py, который находится в каталоге Test в моем домашнем каталоге. Я попытался следующий код, который не работает:Запустите функцию python в сценарии оболочки

#!/bin/bash 

echo "Starting." 

module load gcc/4.8.2 
module load python/3.4.1 

echo "Modules loaded." 

$HOME/Test/test.py 

exit 0 

Я не верю, что, как я пытаюсь запустить программу ($ HOME/Test/test.py) работает. Я не смог определить, как это сделать, несмотря на долгое время. Любая помощь будет оценена по достоинству.

ответ

1

Это, вероятно, одно из следующих, или это может быть комбинация обоих.

Питон-скрипт не является исполняемым. Закрепляет:

chmod u+x $HOME/Test/test.py 

Сценарий не начинается с #! строки, указывающей на питон. Fix, что, делая это первая линия test.py:

#!/usr/bin/env python 

Вы также можете использовать полный путь вместо того, чтобы использовать /usr/bin/env использовать $PATH для разрешения имени.

#!/usr/local/bin/python 
+0

Спасибо, после добавления «CHMOD и + х $ HOME/Test/test.py» в моей программе, она создала выходной файл, но он не включает вывод test.py (который просто печатает " Привет мир"). Я что-то пропустил? Я использую python 3.4.1, поэтому мне нужно написать «#!/Usr/bin/env python3» вместо этого? –

+0

'/ usr/bin/env' просто разрешит все, что после него, до некоторого полного пути, поэтому, если вы используете python как' python3', то да, вы это сделаете. Вы также можете использовать полный путь к интерпретатору, например '#!/Usr/bin/python3'. –

Смежные вопросы