2013-12-17 2 views
0

У меня есть один файл сценария Shell. Внутри я создал один текстовый файл в той же папке, где размещен sh-файл.Сделать sh исполняемым как exe в окне

Я хочу запустить файл sh с двойным щелчком. Когда пользователь дважды щелкает sh-файл, sh-файл будет исполнен, и один текстовый файл должен быть сгенерирован в том же каталоге.

Я знаю, что я могу сделать исполняемый файл с помощью: chmod +x myfile.sh , но проблема заключается в:

при запуске этого файла на другой машине или же машина с различным приводом, мне нужно, чтобы снова исполняемым. Мне нужно поведение, подобное «exe файл» в Windows.

+0

Какую файловую систему вы копируете вокруг этого скрипта, чтобы он потерял свой исполняемый бит? Попробуйте пропустить архив tar и распаковать его из «tar», который может сохранить бит. – woolstar

+0

woolstar @ я использую ubuntu 12.04. Я создаю исполняемый файл на этом компьютере и копирую его в pendrive, и когда вы запускаете его из pendrive на другой машине (машина моего друга Ubuntu 10.04), это не работает. – Rickyrock

+0

Является ли накопитель для ручек FAT? или ext3? – woolstar

ответ

0

Вы можете щелкнуть файл правой кнопкой мыши и выбрать properties. Установите флажок Allow executing file as a program.

+0

Я тоже это сделал. Но это не работает. Мне нужно перейти на терминал и изменить разрешение с помощью: chmod + x myfile.sh – Rickyrock

+0

Если он не работает. Возможно, файл, который вы выполняете, не принадлежит вашему текущему пользователю. Попробуйте использовать chown myfile.sh – vahnevileyes

1

Если вы скопируете файл на диск, файловая система которого не поддерживает модель разрешений Linux, вы потеряете эти разрешения. Решение состоит в том, чтобы вместо этого использовать Linux-совместимую файловую систему (переформатировать диск, например, ext2), но менее навязчивым решением является сохранение файла в контейнере, который сохраняет разрешения (например, файл tar) и извлекает его из там к целевой системе (системам).

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

Если целевые системы имеют доступ в Интернет, возможно, простой способ перенаправить файл на сервер и просто поместить текстовый файл с URL-адресом загрузки на палку.

+0

trpleee @ Я тоже попробовал. Я поместил свой файл на сервер и установил ссылку для его загрузки. После загрузки файла, когда я дважды нажимаю на файл, процесс все еще идет, но ничего не происходит. – Rickyrock

+0

Насколько я могу расшифровать ваше описание, звучит как несвязанная проблема. Если загруженный файл имеет правильное содержимое и правильные разрешения, я бы предложил, чтобы мы сделали это. – tripleee