Ошибка в вашем bash
— это неизвестная команда name
. Я не знаю, каково ваше намерение с этой командой, поэтому я не могу комментировать ее дальше.
Чтобы запустить скрипт Python с /home/project
в качестве рабочего каталога, непосредственно в командной строке:
( cd /home/project && python3 pyscript.py )
Команда заключена в круглые скобки, чтобы cd
не влияла на рабочий каталог сеанса интерактивной оболочки.
Как псевдоним:
alias mypyscript='( cd /home/project && python3 pyscript.py )'
В качестве функции оболочки:
mypyscript () (
cd /home/project && python3 pyscript.py
)
Как сценарий оболочки:
#!/bin/sh
cd /home/project && python3 pyscript.py
Во всех вышеперечисленных случаях python3 pyscript.py
не будет вызываться в случае сбоя cd
.
Вот ответ на актуальную проблему, которая уже была у вас в предыдущем вопросе и которая была рассмотрена и объяснена. Вы заблуждаетесь, думая, что проблема в одном или двух каталогах за пределами каталога, вызвавшего ошибку. Проблема прямо в /media/debian/
.
Держитесь подальше от /media/someuser
каталогов, таких как /media/debian
. Система обрабатывает их особым образом, при этом каталоги динамически создаются для каждого пользователя, когда это необходимо. Эти каталоги являются частными для пользователя, «удерживающего место», и по умолчанию не позволяют процессу apache получить к ним доступ. Возможно даже, что перезагрузка или простой выход из системы/вход в систему могут сбросить их права доступа, не позволяя apache httpd снова получить к ним доступ, даже если это было возможно раньше.
Просто создайте каталог точки монтирования в другом месте. Это может быть внутри нового каталога с именем /srv/
или/data/
(или, может быть, даже в /var/www/
, но я бы не советовал ).
Так, например, как root:
mkdir -p /srv/media/SHARED
Затем измените все настройки Apache и /etc/fstab
так, чтобы они указывали на /srv/media/SHARED
вместо /media/debian/SHARED
.
Поскольку не будет конфликтов с инструментами, динамически обрабатывающими права пользователей, как в случае /media/debian
, данные пользователя apache httpd www -не будут иметь проблем с доступом к /srv/media/SHARED
.
Если это было предыдущей целью, графический интерфейс пользователя debian
может не отображать непосредственно этот каталог, поскольку он не находится в зарезервированном каталоге для этого пользователя. Просто добавьте символическую ссылку или любой другой метод рабочего стола, чтобы указать на /srv/media
или /srv/media/SHARED
.
Возможны проблемы из-за того, что VFAT является очень ограниченной файловой системой :Operation not permitted
является нормальной и ожидаемой ошибкой VFAT для chown и chmod и не может быть исправлено иначе, как без использования VFAT. httpd (возможно, в зависимости от некоторых опций )может иметь специальную интерпретацию для файлов с правами на выполнение. Если такой случай возникнет, это будет отдельная проблема, которую можно просто решить, придерживаясь файловых систем POSIX или, по крайней мере, ntfs, используемых с ntfs -3g с настройками(.NTFS-3G/UserMapping
)для обработки прав доступа. Избегайте VFAT или ExFAT.