[Решено] Помогите с простым скриптом запуска приложения

Автор Sergei_Alekseev, 04 августа 2013, 22:54:04

« назад - далее »

0 Пользователи и 5 гостей просматривают эту тему.

yura_n

Цитата: Sergei_Alekseev от 05 августа 2013, 19:33:04Вы, сударь, как-то странно себя ведёте.
Я веду себя не более странно чем вы. Вы в названии темы пишете о простом скрипте, далее вы пишите о том, что в скриптах не разбираетесь. Так как же вы определили, что скрипт простой? Непонятно. Далее, вы просите помочь, но не удосуживаетесь полностью объяснить проблему, не указав какой собственно вывод нужно подавить. И в конечном итоге возмущаетесь, что вам помогли неправильно. Вы считаете что вам что-то должны? Тогда вы забыли заплатить за это.
Цитата: Sergei_Alekseev от 05 августа 2013, 19:33:04
Обратите внимание что аутпут у меня появляется как бы после нового промпта, а у вас ожидает завершения программы.
У меня скрипт ожидает завершения программы, потому что я не перевел его в фоновый режим. Я сделал это намерено, чтобы акцентировать внимание на выводе программы.
Говорю уже буквально, у вас либо скрипт неправильно написан, либо есть проблемы с настройкой интерпретатора.

Sergei_Alekseev

Цитата: yura_n от 05 августа 2013, 20:20:45И в конечном итоге возмущаетесь, что вам помогли неправильно. Вы считаете что вам что-то должны? Тогда вы забыли заплатить за это.
Вы больны. Я написал что решил проблему самостоятельно и вопрос снят. Будьте здоровы.

yura_n

Цитата: Sergei_Alekseev от 05 августа 2013, 20:36:45Я написал что решил проблему самостоятельно и вопрос снят.
Мои поздравления. Но еще вы написали и конкретно это:
Цитировать
Если сделать "скрипт на скрипт", то аутпут всё равно выдаёт точно так же. >:(

Sergei_Alekseev

Цитата: yura_n от 05 августа 2013, 20:46:15Мои поздравления. Но еще вы написали и конкретно это:
Да, потому что именно так и есть. У меня. У вас - по-другому. Возможно xfce4 terminal wrapper ведёт себя нехорошо, но это не отменяет проблему.
Раз уж вы никак не успокоетесь, то не могли бы вы объяснить что именно должен был делать код, который вы посоветовали :
dirname="$(dirname "$(readlink -e "$0")")"&>/dev/null
И для чего нужно изменять кавычки.
И нормально ли это - делать скрипт на скрипт, который состоит из четырёх строчек.


yura_n

#19
Цитата: Sergei_Alekseev от 05 августа 2013, 21:14:07Раз уж вы никак не успокоетесь, то не могли бы вы объяснить что именно должен был делать код, который вы посоветовали :
Из четырех строк скрипта только эта строка могла давать хоть какой-либо вывод. И сама программа. Прочие строки в стандартный поток вывода выдать ничего не могли. А так как вы забыли указать, что вас интересует вывод программы, то я и предположил что речь идет о самом скрипте.
Больше ничего объяснять не буду, я достаточно испортил себе настроение.

Sergei_Alekseev

 ;D
Кто бы говорил насчёт испорченного настроения.
Ваша "лапша" и "заплатить" хорошему настроению не способствуют.
Насколько уж я не в курсе скриптописания, но вижу что в данном скрипте ничего не может давать вывод, только программа, которую этот скрипт запускает.

yura_n

Цитата: Sergei_Alekseev от 06 августа 2013, 00:05:44Ваша "лапша" и "заплатить" хорошему настроению не способствуют.
Насколько уж я не в курсе скриптописания, но вижу что в данном скрипте ничего не может давать вывод, только программа, которую этот скрипт запускает.
Это реакция на ваше-же поведение. Даже сейчас, уже два поста подряд вы пытаетесь поймать меня "за язык". Объясняю. Вот как должен выглядеть ваш скрипт:

#!/bin/sh
# Здесь используется переменная dirname и команда dirname
dirname=$(dirname `readlink -e "$0"`)
export LD_LIBRARY_PATH="$dirname/lib"
export QT_PLUGIN_PATH="$dirname/lib"
$dirname/XnView "$@"

А то что выложили вы - криворукая муть, в которой нет желания разбираться. Я и не разбирался на тот момент. Бегло прикинул и все.

Sergei_Alekseev

Скрипт не мой, а разработчика xnview и он работает.
А то что вы написали - это и есть криворукая муть.
Вот что с вашим скриптом происходит, если в имени директории есть пробел(ы):
serge@debian:~/xnview multi platform$ ./xnview2.sh
dirname: extra operand `multi'
Try `dirname --help' for more information.
./xnview2.sh: 6: ./xnview2.sh: /XnView: not found


yura_n

#23
Цитата: Sergei_Alekseev от 06 августа 2013, 00:45:15Вот что с вашим скриптом происходит, если в имени директории есть пробел(ы):

#!/bin/sh
# Здесь используется переменная dirname и команда dirname
dirname=$(dirname "`readlink -e "$0"`")
export LD_LIBRARY_PATH="$dirname/lib"
export QT_PLUGIN_PATH="$dirname/lib"
"$dirname"/XnView "$@"

Исправил. Смысл от этого не меняется.

Сообщение объединено: 06 августа 2013, 00:58:55

Цитата: Sergei_Alekseev от 06 августа 2013, 00:45:15А то что вы написали - это и есть криворукая муть.
Блин, напишите лучше. Пока у вас кроме критики вообще ничего не получается.

Sergei_Alekseev

Отлично. И что в вашем скрипте более правильно?
Зачем брать целиком "$dirname/lib" в кавычки? Именно $dirname может содержать пробел, /lib пробелов не содержит, если вы не заметили. Вы же не взяли целиком в кавычки "$dirname/XnView", а написали так же как у автора - "$dirname"/XnView.

Мне не нужно писать лучше, это вы критикуете нормально работающий скрипт и пишете "лучше", который не работает верно или ничем по функциональности не отличается от оригинала. Вы ведёте себя как подросток с ветром в голове. "Я знаю лучше!"
Чтобы помогать, нужно точно знать, что делать, а не "бегло прикинул и всё". Иначе получается не помощь, а ерунда.
Лучше пройти мимо, если не знаете точный ответ, чтобы не получалась вот эта никому не нужная перепалка.

yura_n

Цитата: Sergei_Alekseev от 06 августа 2013, 01:24:32Отлично. И что в вашем скрипте более правильно?
В основном то, что он читается намного легче. Прочее объяснять не буду, как уже пообещал.
Цитата: Sergei_Alekseev от 06 августа 2013, 01:24:32Чтобы помогать, нужно точно знать, что делать, а не "бегло прикинул и всё". Иначе получается не помощь, а ерунда.
Чтобы вам помогли - надо проблему описывать правильно, а не надеяться на телепатов.
Цитата: Sergei_Alekseev от 06 августа 2013, 01:24:32Лучше пройти мимо, если не знаете точный ответ, чтобы не получалась вот эта никому не нужная перепалка.
Я даже больше сделаю, поставлю вас в игнор и в следующий раз гарантированно пройду мимо, перепалки уже не будет.  ;D

Sergei_Alekseev

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

qupl