LINUX.ORG.RU

Незапускаются скрипты

 , ,


0

1

Всех приветствую! Помогите новичку по проблеме в Кубунте - не запускаются мною созданные скрипты. Проблема такова - я создал некоторый скрипт - script.sh, сделал его исполняемым для всех - chmod ugo+x script.sh, владелец скрипта - я как локальный пользователь в начале скрипта строчка #!/bin/sh есть, вообщем в консоли если вводить просто script.sh или sudo script.sh то выходит мессидж script.sh: command not found или sudo: script.sh: command not found

Если же ввести ./script.sh то скрипт нормально запускается без всяких проблем, хоть от от лок.пользователя хоть через sudo Но вся проблема в том что скрипт мне надо засунуть в автозагрузку я это сделал в автозагрузке граф.оболочке - КДЕ Но там не вписать любую команду какую хочешь, т.е. ./script.sh там можно только либо выбрать уже установленную прогу либо указать на скрипт т.е. на script.sh и все, и он в итоге при загрузке системы не запускается. Также хочу заметить что в системе у меня установлен файловый менеджер Krusader и если я в крузадере запущенном от меня как от локальн.пользов. кликаю мышью (или же нажать Enter) по скрипту - script.sh то ничего не происходит а если я в крузадере запущенном от рута кликаю мышью (или же нажать Enter) по этому скрипту - он сразу запускается



Последнее исправление: barmaley99 (всего исправлений: 1)

не поверю, что там нельзя вставить полный путь до скрипта. Ну ладно если добавить в переменную PATH путь до твоего скрипта то он будет выполняться просто как script.sh.

Silerus ★★★★
()
Ответ на: комментарий от Silerus

Путь до скрипта указывается конечно, но только там просто указывается на скрипт и все. Там нельзя указать чтобы он запускался как команда ./script.sh

barmaley99
() автор топика
Ответ на: комментарий от Aceler

Блин да че вы воду тут тупо разводите! Есть что то по делу подсказать или нет? Еще раз повторяю, для тех кто плохо по русски читать умеет, то что уже писал- если в консоли ввожу ./script.sh он выполняется если ввожу script.sh - он не выполняется, в автозапуске десктопа я могу только лишь указать на сам скрипт - script.sh и все! И он не запускается! Опять будет повторять?

barmaley99
() автор топика
Ответ на: комментарий от barmaley99

для тех кто плохо по русски читать умеет

ты сначала по-русски писать научись!

bvn13 ★★★★★
()
Ответ на: комментарий от barmaley99

УМВР. Я написал вот такой dol.sh

#!/bin/sh
dolphin
exit
, сделал исполняемым, засунул в автозапуск KDE /home/user/dol.sh — и Dolphin таки запускается.

Покажи текст своего скрипта. Может там просто нет GUI, и поэтому ты не видишь, что он запустился?

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от barmaley99

Еще раз повторяю, для тех кто плохо по русски читать умеет, то что уже писал- если в консоли ввожу ./script.sh он выполняется если ввожу script.sh - он не выполняется

Внезапно, да? Потому что это не команда, а путь до скрипта.

Aceler ★★★★★
()
Ответ на: комментарий от barmaley99

есть что сказать. "./" это путь, твоя сранина не в $PATH, чтобы её запускать просто по script.sh

дальше сам допрёшь или воду разводить будем?

SevikL ★★★★★
()
Ответ на: комментарий от SevikL

Да можно там запускать по /home/user/script.sh, я проверил. Просто у него наверное демон получился, а он не привык, что скрипты могут и без открытия окна терминала выполняться.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от Vsevolod-linuxoid

я кеды с 4 не видел, но и там точно было можно. да везде можно, ТС тупит и грубит.

SevikL ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

что скрипты могут и без открытия окна терминала выполняться.

Раньше в KDE была галочка «открывать в терминали», или она только на desktop файлы распространяется?

Aceler ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Нет скрипт именно не запускается, прога которая исполняется скриптом грузит проц сильно, это сразу заметно становится и скрипт кстати запускался когда его содержимое было таково #!/bin/sh sudo /home/user/папка_проги/прога

(Запуск этой проги для себя как для лок.пользователя от имени рута без пароля добавил)

Но если запускать прогу через консоль вручную она выводит необходимые диагностические сообщения а так как получилось выше - она запускается без всякого вывода, просто в фоне, тогда я придумал написать скрипт так чтобы прога запускалась в консоли: #!/bin/sh sudo konsole -e /home/user/папка_проги/прога

и вот так он уже через автозапуск не запускается, хотя если вручную то запускается

barmaley99
() автор топика
Ответ на: комментарий от Aceler

Не знаю. У меня просто виртуалка с Kubuntu 16.04 была старая, вот и проверил. Вроде да, только desktop.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от SevikL

Да, добавил путь до проги в $PATH и после перезагрузки все запустилось, всем спасибо

barmaley99
() автор топика

Для начала куда скипт прописываеш? Он от root должен запускатся? Или после загрузки окружения рабочего стола. Если после окружения, то какое оно у тебя?

AligatorBkmz
()

Если в rc.local прописываешь то покажи вывод sudo cat /etc/rc.local Я перед именем укажывал комманду sh '/путь/к/файлу.sh' Проверь если в пути содержатся пробелы то нужно использывать одинарные или двойные кавычки.

AligatorBkmz
()

Скрипт должен начинатся со строчки #!/bin/sh -e в идеале и в конце exit 0

AligatorBkmz
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.