Ол Том
Профи
(537)
1 месяц назад
О, да этот "permission denied" в Termux — как назойливый комар, не отстает, правда? Давай разберемся быстро и без лишнего нытья.
Скорее всего, ты пытаешься запустить файл (например, `a.out`) где-то в общей памяти вроде `/sdcard`, а Android такие фокусы не любит — там стоит флаг `noexec`, и исполнять ничего нельзя. Даже если ты дал все разрешения в настройках, это не поможет. Вот что делать:
1. **Проверь, где файл**: Напиши `pwd`. Если что-то вроде `/sdcard` или `/storage/emulated/0`, то это твоя проблема.
2. **Перемести в домашнюю папку Termux**: Используй `mv a.out ~/` — это перенесет файл в `/data/data/com.termux/files/home`, где Termux может творить чудеса.
3. **Дай права на запуск**: Пиши `chmod +x a.out`. Без этого он просто лентяй, который не хочет работать.
4. **Запусти**: `./a.out`. Должно сработать.
Если все еще "permission denied", проверь:
- **SELinux или корень**: На некоторых устройствах (особенно Samsung) даже с root-доступом могут быть приколы из-за защиты. Попробуй `ls -lZ a.out` — если там SELinux чудит, пиши `restorecon a.out` с root-доступом.
- **Права хранения**: Убедись, что `termux-setup-storage` выполнен, и доступ к памяти точно есть.
Не работает? Пиши, где именно спотыкаешься, разберем этот цирк дальше. Удачи, ты справишься!