Как запустить скрипт оболочки на Ubuntu-touch?

Надеюсь, это поможет. Вам нужно создать раздел (если его еще нет) с помощью NTFS, для этого вы можете установить GPARTED на Ubuntu, изменить размер раздела Ubuntu, чтобы оставить некоторое пространство для вашей новой установки Windows.

необходимо установить Windows Media Install Media, если у вас его нет, вы можете загрузить его, просто убедитесь, что получили правильную версию (Profesional edition, mediacenter, ...), могут иметь доступ к установочному компакт-диску с Если вы переустановите Windows, вам, вероятно, придется перестроить GRUB, чтобы заполнить нужную ОС для загрузки.

1
задан 25 April 2015 в 00:01

3 ответа

Что бы это ни было (ошибка или странная конфигурация):

./yourscript.sh

не работает на Ubuntu-touch. Обходной путь:

bash yourscript.sh
2
ответ дан 23 May 2018 в 21:03

После некоторого (предварительного) тестирования мне кажется, что это не ошибка с ubuntu-terminal-app, а вместо этого не позволяет запускать исполняемые файлы из домашнего каталога. Вот почему bash /path/to/file работал, но /path/to/file этого не делал, потому что bash находится в /bin.

Я попытался запустить скрипт bash, скрипт python и hello-world g ++ скомпилированный c ++ program, все с установленным битом исполняемого бита, и никто не будет запускаться, когда находится в подкаталоге /home. Ни один из них не будет запущен, хотя сценарии и приложения в других подкаталогах корневого запуска прекрасны.

К сожалению, я еще не нашел решение: в /etc/fstab нет ничего, чтобы предположить, что /home установлен как noexec ]:

/userdata/user-data /home none bind 0 0

Я даже попытался повторно установить его явно как exec, используя mount -o remount,rw,exec /home безрезультатно. Будет обновлено, если я найду решение.

До сих пор единственным обходным решением было использование интерпретатора для запуска скриптов (Bash / Python и т. Д.) Или /lib/ld-linux-armhf.so.3 /path/to/file для двоичных приложений.

Незначительное обновление: немного более элегантное обходное решение заключается в перемещении сценария / приложения в другой каталог, например /opt, а затем символической ссылки на него. Таким образом, вы можете запустить его только /path/to/symlink. Например, вы могли бы сделать:

sudo mv /path/to/SCRIPT.sh /opt
ln -s /opt/SCRIPT.sh /path/to

Тогда вы могли бы просто набрать /path/to/SCRIPT.sh для его запуска.

UPDATE WITH SOLUTION

Выяснилось, что проблема связана с профилем безопасности apparmor для приложения терминала. См. Мой вопрос и ответ здесь: Ubuntu touch - исполняемые файлы не будут запускаться в / home directory

2
ответ дан 23 May 2018 в 21:03
  • 1
    Благодаря миллиону было интересно, почему я не смог запустить узел ... – ShaneQful 24 April 2016 в 19:40

Попробуйте изменить линию shabang на

#!/bin/bash

, а не на

#!/bin/sh

. По умолчанию интерпретатор будет использовать bash, а не sh. Это должно быть проще.

0
ответ дан 23 May 2018 в 21:03

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

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