Как с помощью ярлыка что-нибудь сделать?

Сообщения
198
#1
Всем привет.
Код:
$ uname -a
Linux astra 4.15.3-141-generic #astra26+ci17 SMP Fri Jul 9 09:39:31 UTC 2021 x86_64 GNU/Linux
$
Последняя, короче.
---------------------------------------------------------------------
Команда Alt+T, потом в терминале
Код:
$ echo cafebabe
$
1632069078057.png


Всё. А теперь того же эффекта я хочу достичь с помощью ярлыка. То есть ПКМ на рабочем столе -> создать -> ярлык. Вот туда нужно что-то написать и потом ткнуть на этот ярлык и чтобы такой же эффект был, как на скриншоте выше. Всего-навсего. Я думаю, я немногое прошу.
-------------------------------------------------------------------------------------------
Вот сюда
1632069324209.png

Нужно что-то написать. Но я уже устал эксперементировать с галочками, командами bash, fly-term и прочей мутью.
Всего-то навсего. Команда echo и пусть терминал не закрывается.
Заранее спасибо.
 

oko

New member
Сообщения
728
#2
to суслик
Эээ... А долго экспериментировали с мутью?
Так-то смотрим ключи fly-terminal через fly-term --help, узнаем про ключи --noclose и -e и формируем итоговую команду: fly-term --noclose -e "echo blablabla"...
Один вопрос: для каких извращенных задач такой метод вообще может понадобиться?
 
Сообщения
198
#3
to суслик
Эээ... А долго экспериментировали с мутью?
Так-то смотрим ключи fly-terminal через fly-term --help, узнаем про ключи --noclose и -e и формируем итоговую команду: fly-term --noclose -e "echo blablabla"...
Один вопрос: для каких извращенных задач такой метод вообще может понадобиться?
Я ж тебя просил вроде не беспокоиться.
 

oko

New member
Сообщения
728
#4
to суслик
Никакого беспокойства - так, легкий ликбез. В конце концов, это свободная страна, ага...
Метод нерабочий оказался в итоге? Или чувство избирательности выше, чем желание получить ответ? imho, тогда проще гуглить самостоятельно...
 

oko

New member
Сообщения
728
#6
to суслик
Дык, поделитесь, - даже любопытно стало...
 
Сообщения
198
#9
Этот способ плох тем, что порождает два процесса bash. И они два висят (командуем ps и наблюдаем два процесса bash). Один как аппендикс, а попробуй от него избавься. А вот ещё один способ (быть может, конечный), ещё ближе к задуманному. Копируем файл ~/.bashrc:
cp ~/.bashrc ~/.my_bashrc
Так, в конец файла ~/.my_bashrc дописываем нужные нам команды. Ту же echo cafebabe, к примеру. А потом пропиcываем запуск bash в свойствах ярлыка вот так:
1635151414745.png

То есть ключевой параметр --rcfile, даёт возможность подменить файл инициализации, что и делаем. По запуску наблюдаем:

Bash:
cafebabe
user@astra:~$
Запускаем команду ps:
Bash:
cafebabe
user@astra:~$ ps
  PID TTY          TIME CMD
 5522 pts/4    00:00:00 bash
 5563 pts/4    00:00:00 ps
user@astra:~$
Один bash, что и нужно. Дописывать нужные команды в конец ~/.bashrc не рекомендую потому, что они всегда будет выполняться, а это не то, что нужно. Например, когда вы просто захотите запустить терминал, Alt+T.
А твой способ не работает. Тестировать нужно прежде, чем написать что-то.
 
Сообщения
728
#12
to суслик
А твой способ не работает. Тестировать нужно прежде, чем написать что-то.
Я где-то писал, что это готовый способ (и просто так интересовался, сработал он или нет)? Лишь дал направление, а вы тупо скопировали - не получилось - забили и пошли лепить велосипед через переопределение переменных пользовательской среды...
А надо было всего лишь в приведенной команде поиграть с размещением кавычек (спойлер: выставить для сообщения, передаваемого echo, а не для всей конструкции с echo)...

ЗЫ По результатам нашего с вами общения какое-либо желание что-то предварительно тестировать, откровенно говоря, отсутствует. Начнете вести себя как вменяемый собеседник - будет другой коленкор, ага...
 
Последнее редактирование:
Сообщения
198
#14
to суслик

Я где-то писал, что это готовый способ (и просто так интересовался, сработал он или нет)? Лишь дал направление, а вы тупо скопировали - не получилось - забили и пошли лепить велосипед через переопределение переменных пользовательской среды...
А надо было всего лишь в приведенной команде поиграть с размещением кавычек (спойлер: выставить для сообщения, передаваемого echo, а не для всей конструкции с echo)...

ЗЫ По результатам нашего с вами общения какое-либо желание что-то предварительно тестировать, откровенно говоря, отсутствует. Начнете вести себя как вменяемый собеседник - будет другой коленкор, ага...
а... То есть лепим горбатого, а потом спираем всё на нежелание помогать? То есть желание писать не отсутствует, а желание тестировать отсутвтвует? Гениально, мля! 4-ый способ сойти за умного! Лепим всякую херь с потолка, а потом говорим, типа я в домике. Да не, просто толку от тебя как от быка молока и не шаришь ты ни хрена.
 
Сообщения
198
#15
ну пусть другие нас рассудят. Например, oko.:D
А по теории если- как можно передать команды, разделённые точкой с запятой bash-у который к тому же не запущен? Попробуй проще:
bash "touch cafebabe"
У тебя НЕ создастся файл. Это вот так надо:
bash -c "touch cafebabe"

То есть используем опцию -c. А у тебя её нет, это раз. А два, то, что после опции должна идти ОДНА команда- в данном случае ./скрипт.sh. Как вторую присовокупить (read -p "PRESS ENTER")- хрен его знает.
Bash:
$ bash "touch kk"; "touch ii"
bash: touch kk: Нет такого файла или каталога
bash: touch ii: command not found
$
$ bash -c "touch kk"; "touch ii"
bash: touch ii: command not found
$
...а, впрочем, чудеса случаются.
 
Сообщения
728
#16
to суслик
Второй раз (как и в теме про заголовок терминала) спрошу: вы хоть проверили совет? Работает? Нет? А что конкретно не работает? Вот это и надо писать. Потому что, primo, совет бесплатен и, secundo, дается как совет, а не modus operandi...
Так что прежде чем вякать из-за унитаза про несправедливость бытия, баны, ошибки и нехороших собеседников, постарайтесь для начала конкретно сформулировать как саму задачу (к которой призываете участников), так и результаты предложенных решений. Проверенных вами, а не кем-то еще. Потому что, @$#!!, эти решения касаются именно вашей задачи, а не чьей-то еще. Comprendo?

И еще одно. Вызывать bash из bash - это прям-таки коровья суперсила, ага. Или вы в ALCE по умолчанию на sh/zsh/etc перешли?
Так-то для всего остального есть конвейер команд. В котором, внезапно, есть операторы "&&" и "||" для определения последовательности выполнения команд. Читай, echo "blablabla" && read -p "PRESS ENTER"...
И да, конструкция, приведенная тов. Карл, вполне рабочая. А ваша проблема опять в кавычках. На что вам переменные окружения как бы наглядно намекают...
 
Сообщения
198
#17
to суслик
Второй раз (как и в теме про заголовок терминала) спрошу: вы хоть проверили совет? Работает? Нет? А что конкретно не работает? Вот это и надо писать. Потому что, primo, совет бесплатен и, secundo, дается как совет, а не modus operandi...
Так что прежде чем вякать из-за унитаза про несправедливость бытия, баны, ошибки и нехороших собеседников, постарайтесь для начала конкретно сформулировать как саму задачу (к которой призываете участников), так и результаты предложенных решений. Проверенных вами, а не кем-то еще. Потому что, @$#!!, эти решения касаются именно вашей задачи, а не чьей-то еще. Comprendo?

И еще одно. Вызывать bash из bash - это прям-таки коровья суперсила, ага. Или вы в ALCE по умолчанию на sh/zsh/etc перешли?
Так-то для всего остального есть конвейер команд. В котором, внезапно, есть операторы "&&" и "||" для определения последовательности выполнения команд. Читай, echo "blablabla" && read -p "PRESS ENTER"...
И да, конструкция, приведенная тов. Карл, вполне рабочая. А ваша проблема опять в кавычках. На что вам переменные окружения как бы наглядно намекают...
Всё уж решено. Советы свои себе в гузно засунь.
 
Последнее редактирование: