Невозможно использовать & ldquo; ./& rdquo; выполнить скрипт оболочки

Может быть, кто-то здесь сможет мне помочь. Установили Ubuntu 12.04 LTS (kubuntu) на две машины. Файлы .bashrc и .bash_profile идентичны, поскольку файловые структуры на каждом компьютере одинаковы.

На машине 1 я запускаю bash-скрипты в окне терминала с простым: ./scriptname.sh

На машине 2 я не могу этого сделать и должен использовать: sh scriptname.sh Также не могу Я использую ./ и завершаю табуляцию в имени файла скрипта.

Все исполняемые биты установлены правильно, все файлы и папки имеют правильные разрешения. В заголовке скриптов шебанг настроен правильно.

Есть идеи, почему это происходит?

Приветствия

4
задан 5 November 2012 в 05:34

3 ответа

Единственное, что могло бы вызвать это, это если скрипт не является исполняемым. Я знаю, что вы сказали, что исполняемый бит установлен, но убедитесь:

chmod +x scriptname.sh
0
ответ дан 5 November 2012 в 05:34

Ошибки, которые вы видите, могут быть вызваны попыткой запустить исполняемый файл на носителе, смонтированном со свойством noexe. Введите mount и проверьте свойства устройства, содержащего скрипт. При необходимости измените свойства / etc / fstab монтирования.

0
ответ дан 5 November 2012 в 05:34

Я читал о различных проблемах, возникающих с автозаполнением, не обязательно с 12.04, и кажется, что стоит попробовать следующие две опции:

Сначала попробуйте отключить программируемое завершение bash : Закомментируйте эти три строки как в /etc/bash.bashrc, так и в $HOME/.bashrc пользователя:

 if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
     . /etc/bash_completion
 fi

Вы можете обнаружить, что эти строки уже закомментированы с # впереди, в этом случае просто оставь как есть.

Итак, во-вторых, попробуйте переустановить bash-complete :

sudo apt-get purge bash-completion
sudo mv /etc/bash_completion.d /etc/bash_completion.d.bak
sudo apt-get install bash-completion
0
ответ дан 5 November 2012 в 05:34

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

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