Я пытаюсь запустить исполняемый файл с ubuntu 11.10, и это происходит для нескольких разных файлов.
Я пытаюсь запустить файл, и он говорит «нет такого файла или каталога»
это не файл, потому что файл был загружен только из пакета, а точный файл запускает штрафы на трех моих компьютерах друзей. Я недавно установил новый раздел ubuntu 11.10.
это не проблема с разрешениями, потому что я пытался запустить его как sudo и ive, попробовал chmod и ive отредактировал разрешения фактического файла, чтобы дать себе разрешение и разрешить его запуск в качестве исполняемого файла.
Мое единственное догадство заключается в том, что в Ubuntu есть некоторая глубокая настройка, которая случайно активирована, что мешает мне запускать исполняемый файл. Я видел тот же самый вопрос в нескольких местах и никогда не получал удовлетворительного ответа. кто-нибудь знает, почему ubuntu делает это?
, пожалуйста, помогите как можно скорее, мне нужна эта программа для запуска сегодня. это основная проблема ubuntu и не позволяет мне ничего делать в этой ОС.
код, который я запускаю, - это простая функция * .sh. i перейдите в папку и введите ./start.sh
, и он отлично выполнит файл. этот файл вызывает другой исполняемый файл в папке в этом каталоге с именем bin. перед этим он добавляет bin в $ PATH, так что это не проблема. но когда он пытается вызвать этот исполняемый файл, он говорит, что не может найти файл. вот код start.sh
#!/bin/sh
SDKPATH=$(dirname $(readlink -f $0))
UOBPATH=$SDKPATH/share/uobjects/
USPATH=$SDKPATH/share/scripts/
# Edit this script as you want :)
SCRIPT=balltracking.u
$SDKPATH/bin/urbi-launch --start $UOBPATH/* -- --host 0.0.0.0 --port 54000 -f
$USPATH/$SCRIPT
, но не только этот файл. ive gon в несколько других файлов и попытался запустить исполняемые файлы аналогичным образом, и возникает такая же ошибка. снова эти же файлы выполняются отлично на других компьютерах с теми же командами. Единственное различие заключается в том, что они установлены WUBI, и я использую раздел. Я не знаю, в чем проблема.
Предполагая, что это проблемы urbi-launch
и balltracking.u
, я предлагаю вам попробовать это для каждого из этих двух скриптов. Сначала перейдите в каталог, в котором находится скрипт. Сделайте ls -Ll <script>
и подтвердите, что сценарий предоставляет вам разрешения на выполнение. Ll - это верхний и нижний регистр «el», который дает вам разрешения и трассирует символическую ссылку, если скрипт является ссылкой. Это гарантирует, что вы получите разрешение на скрипт и не случайно ссылку.
Если разрешения выглядят правильно, попробуйте запустить каждый скрипт в качестве команды, вызвав его как ./<script>
.
Если это работает, то это не проблема с Ubuntu, скрипт выполняется правильно. Если он не выполняется правильно, укажите список разрешений и результаты команды id
, чтобы мы могли видеть, что вы тоже.
Если скрипт работает из командной строки, то это ваш start.sh
, который имеет проблему. Попросите его повторить пути, чтобы вы могли видеть, что на самом деле используется. Другим подходом к узкому ограничению путей является жесткое кодирование явного пути в start.sh для каждого из других скриптов. Если это работает, вам гарантируется, что проблема находится в вашем скрипте start.sh
и как вы определяете путь.
В последнее время я настоятельно рекомендую вам использовать следующий тип для переменных в скриптах, вместо этого используйте ${variable}
из $variable
, потому что добавление фигурных скобок гарантирует, что другие символы случайно не добавляются к имени переменной, создавая новую переменную без значения.
Возможно, ваш исполняемый файл 32-разрядный, и у вас нет 32-разрядных библиотек.
Установите их с помощью: sudo apt-get install ia32-libs
Предполагая, что это проблемы urbi-launch
и balltracking.u
, я предлагаю вам попробовать это для каждого из этих двух скриптов. Сначала перейдите в каталог, в котором находится скрипт. Сделайте ls -Ll <script>
и подтвердите, что сценарий предоставляет вам разрешения на выполнение. Ll - это верхний и нижний регистр «el», который дает вам разрешения и трассирует символическую ссылку, если скрипт является ссылкой. Это гарантирует, что вы получите разрешение на скрипт и не случайно ссылку.
Если разрешения выглядят правильно, попробуйте запустить каждый скрипт в качестве команды, вызвав его как ./<script>
.
Если это работает, то это не проблема с Ubuntu, скрипт выполняется правильно. Если он не выполняется правильно, укажите список разрешений и результаты команды id
, чтобы мы могли видеть, что вы тоже.
Если скрипт работает из командной строки, то это ваш start.sh
, который имеет проблему. Попросите его повторить пути, чтобы вы могли видеть, что на самом деле используется. Другим подходом к узкому ограничению путей является жесткое кодирование явного пути в start.sh для каждого из других скриптов. Если это работает, вам гарантируется, что проблема находится в вашем скрипте start.sh
и как вы определяете путь.
В последнее время я настоятельно рекомендую вам использовать следующий тип для переменных в скриптах, вместо этого используйте ${variable}
из $variable
, потому что добавление фигурных скобок гарантирует, что другие символы случайно не добавляются к имени переменной, создавая новую переменную без значения.
Возможно, ваш исполняемый файл 32-разрядный, и у вас нет 32-разрядных библиотек.
Установите их с помощью: sudo apt-get install ia32-libs
Предполагая, что это проблемы urbi-launch
и balltracking.u
, я предлагаю вам попробовать это для каждого из этих двух скриптов. Сначала перейдите в каталог, в котором находится скрипт. Сделайте ls -Ll <script>
и подтвердите, что сценарий предоставляет вам разрешения на выполнение. Ll - это верхний и нижний регистр «el», который дает вам разрешения и трассирует символическую ссылку, если скрипт является ссылкой. Это гарантирует, что вы получите разрешение на скрипт и не случайно ссылку.
Если разрешения выглядят правильно, попробуйте запустить каждый скрипт в качестве команды, вызвав его как ./<script>
.
Если это работает, то это не проблема с Ubuntu, скрипт выполняется правильно. Если он не выполняется правильно, укажите список разрешений и результаты команды id
, чтобы мы могли видеть, что вы тоже.
Если скрипт работает из командной строки, то это ваш start.sh
, который имеет проблему. Попросите его повторить пути, чтобы вы могли видеть, что на самом деле используется. Другим подходом к узкому ограничению путей является жесткое кодирование явного пути в start.sh для каждого из других скриптов. Если это работает, вам гарантируется, что проблема находится в вашем скрипте start.sh
и как вы определяете путь.
В последнее время я настоятельно рекомендую вам использовать следующий тип для переменных в скриптах, вместо этого используйте ${variable}
из $variable
, потому что добавление фигурных скобок гарантирует, что другие символы случайно не добавляются к имени переменной, создавая новую переменную без значения.
Возможно, ваш исполняемый файл 32-разрядный, и у вас нет 32-разрядных библиотек.
Установите их с помощью: sudo apt-get install ia32-libs
Предполагая, что это проблемы urbi-launch
и balltracking.u
, я предлагаю вам попробовать это для каждого из этих двух скриптов. Сначала перейдите в каталог, в котором находится скрипт. Сделайте ls -Ll <script>
и подтвердите, что сценарий предоставляет вам разрешения на выполнение. Ll - это верхний и нижний регистр «el», который дает вам разрешения и трассирует символическую ссылку, если скрипт является ссылкой. Это гарантирует, что вы получите разрешение на скрипт и не случайно ссылку.
Если разрешения выглядят правильно, попробуйте запустить каждый скрипт в качестве команды, вызвав его как ./<script>
.
Если это работает, то это не проблема с Ubuntu, скрипт выполняется правильно. Если он не выполняется правильно, укажите список разрешений и результаты команды id
, чтобы мы могли видеть, что вы тоже.
Если скрипт работает из командной строки, то это ваш start.sh
, который имеет проблему. Попросите его повторить пути, чтобы вы могли видеть, что на самом деле используется. Другим подходом к узкому ограничению путей является жесткое кодирование явного пути в start.sh для каждого из других скриптов. Если это работает, вам гарантируется, что проблема находится в вашем скрипте start.sh
и как вы определяете путь.
В последнее время я настоятельно рекомендую вам использовать следующий тип для переменных в скриптах, вместо этого используйте ${variable}
из $variable
, потому что добавление фигурных скобок гарантирует, что другие символы случайно не добавляются к имени переменной, создавая новую переменную без значения.
Возможно, ваш исполняемый файл 32-разрядный, и у вас нет 32-разрядных библиотек.
Установите их с помощью: sudo apt-get install ia32-libs
Предполагая, что это проблемы urbi-launch
и balltracking.u
, я предлагаю вам попробовать это для каждого из этих двух скриптов. Сначала перейдите в каталог, в котором находится скрипт. Сделайте ls -Ll <script>
и подтвердите, что сценарий предоставляет вам разрешения на выполнение. Ll - это верхний и нижний регистр «el», который дает вам разрешения и трассирует символическую ссылку, если скрипт является ссылкой. Это гарантирует, что вы получите разрешение на скрипт и не случайно ссылку.
Если разрешения выглядят правильно, попробуйте запустить каждый скрипт в качестве команды, вызвав его как ./<script>
.
Если это работает, то это не проблема с Ubuntu, скрипт выполняется правильно. Если он не выполняется правильно, укажите список разрешений и результаты команды id
, чтобы мы могли видеть, что вы тоже.
Если скрипт работает из командной строки, то это ваш start.sh
, который имеет проблему. Попросите его повторить пути, чтобы вы могли видеть, что на самом деле используется. Другим подходом к узкому ограничению путей является жесткое кодирование явного пути в start.sh для каждого из других скриптов. Если это работает, вам гарантируется, что проблема находится в вашем скрипте start.sh
и как вы определяете путь.
В последнее время я настоятельно рекомендую вам использовать следующий тип для переменных в скриптах, вместо этого используйте ${variable}
из $variable
, потому что добавление фигурных скобок гарантирует, что другие символы случайно не добавляются к имени переменной, создавая новую переменную без значения.
Возможно, ваш исполняемый файл 32-разрядный, и у вас нет 32-разрядных библиотек.
Установите их с помощью: sudo apt-get install ia32-libs
Предполагая, что это проблемы urbi-launch
и balltracking.u
, я предлагаю вам попробовать это для каждого из этих двух скриптов. Сначала перейдите в каталог, в котором находится скрипт. Сделайте ls -Ll <script>
и подтвердите, что сценарий предоставляет вам разрешения на выполнение. Ll - это верхний и нижний регистр «el», который дает вам разрешения и трассирует символическую ссылку, если скрипт является ссылкой. Это гарантирует, что вы получите разрешение на скрипт и не случайно ссылку.
Если разрешения выглядят правильно, попробуйте запустить каждый скрипт в качестве команды, вызвав его как ./<script>
.
Если это работает, то это не проблема с Ubuntu, скрипт выполняется правильно. Если он не выполняется правильно, укажите список разрешений и результаты команды id
, чтобы мы могли видеть, что вы тоже.
Если скрипт работает из командной строки, то это ваш start.sh
, который имеет проблему. Попросите его повторить пути, чтобы вы могли видеть, что на самом деле используется. Другим подходом к узкому ограничению путей является жесткое кодирование явного пути в start.sh для каждого из других скриптов. Если это работает, вам гарантируется, что проблема находится в вашем скрипте start.sh
и как вы определяете путь.
В последнее время я настоятельно рекомендую вам использовать следующий тип для переменных в скриптах, вместо этого используйте ${variable}
из $variable
, потому что добавление фигурных скобок гарантирует, что другие символы случайно не добавляются к имени переменной, создавая новую переменную без значения.
Возможно, ваш исполняемый файл 32-разрядный, и у вас нет 32-разрядных библиотек.
Установите их с помощью: sudo apt-get install ia32-libs
Предполагая, что это проблемы urbi-launch
и balltracking.u
, я предлагаю вам попробовать это для каждого из этих двух скриптов. Сначала перейдите в каталог, в котором находится скрипт. Сделайте ls -Ll <script>
и подтвердите, что сценарий предоставляет вам разрешения на выполнение. Ll - это верхний и нижний регистр «el», который дает вам разрешения и трассирует символическую ссылку, если скрипт является ссылкой. Это гарантирует, что вы получите разрешение на скрипт и не случайно ссылку.
Если разрешения выглядят правильно, попробуйте запустить каждый скрипт в качестве команды, вызвав его как ./<script>
.
Если это работает, то это не проблема с Ubuntu, скрипт выполняется правильно. Если он не выполняется правильно, укажите список разрешений и результаты команды id
, чтобы мы могли видеть, что вы тоже.
Если скрипт работает из командной строки, то это ваш start.sh
, который имеет проблему. Попросите его повторить пути, чтобы вы могли видеть, что на самом деле используется. Другим подходом к узкому ограничению путей является жесткое кодирование явного пути в start.sh для каждого из других скриптов. Если это работает, вам гарантируется, что проблема находится в вашем скрипте start.sh
и как вы определяете путь.
В последнее время я настоятельно рекомендую вам использовать следующий тип для переменных в скриптах, вместо этого используйте ${variable}
из $variable
, потому что добавление фигурных скобок гарантирует, что другие символы случайно не добавляются к имени переменной, создавая новую переменную без значения.
Возможно, ваш исполняемый файл 32-разрядный, и у вас нет 32-разрядных библиотек.
Установите их с помощью: sudo apt-get install ia32-libs
ia32-libs
больше не требуется для запуска 32-битных в 64-битных версиях Ubuntu. BTW, эта ссылка с 2009 года ... вся информация, относящаяся к архитектуре двоичных файлов, устарела с введением Multiarch.
– Braiam
18 November 2013 в 01:46
ia32-libs
исправила эту точную проблему для меня 12.04 - она все еще существует как удобный пакет для установки общих 32-разрядных библиотек. Возможно, ответ должен прочитать ia32-libs-multiarch
вместо этого? Дайте мне знать, что вы думаете, что это должно сказать. Благодарю.
– Sam Finnigan
20 November 2013 в 20:48