Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Запуск терминала с помощью скрипта  (Прочитано 3967 раз)

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

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6911
    • Просмотр профиля
Re: Запуск терминала с помощью скрипта
« Ответ #15 : 28 Июня 2021, 08:33:52 »
"Мухи слетаются на мед, а не на уксус."
Раз сам не видишь, начнем с первой строки:
cd source/RMSБудет работать только из одного конкретного места. Пример:
avn@hi10:~$ cd Desktop
avn@hi10:~/Desktop$ cd ../..
avn@hi10:/home$ cd Desktop
bash: cd: Desktop: No such file or directory
avn@hi10:/home$
Дальше лезть нет смысла. Спрашивай хоть на десяти форумах.
« Последнее редактирование: 28 Июня 2021, 08:37:25 от andytux »

Оффлайн Vas1992

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Запуск терминала с помощью скрипта
« Ответ #16 : 28 Июня 2021, 10:20:56 »
"Мухи слетаются на мед, а не на уксус."
Раз сам не видишь, начнем с первой строки:
cd source/RMSБудет работать только из одного конкретного места. Пример:
avn@hi10:~$ cd Desktop
avn@hi10:~/Desktop$ cd ../..
avn@hi10:/home$ cd Desktop
bash: cd: Desktop: No such file or directory
avn@hi10:/home$
Дальше лезть нет смысла. Спрашивай хоть на десяти форумах.
У вас не установлен RMS.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6911
    • Просмотр профиля
Re: Запуск терминала с помощью скрипта
« Ответ #17 : 28 Июня 2021, 10:34:45 »
Конечно нет. Но до него еще очень далеко.
А дальше этой строки хорошо-бы объяснить, в первую очередь самому себе, что ты хочешь сделать.
Тебе-бы хороший букварь почитать. Например, этот.

Оффлайн Vas1992

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Запуск терминала с помощью скрипта
« Ответ #18 : 28 Июня 2021, 10:48:23 »
Конечно нет. Но до него еще очень далеко.
А дальше этой строки хорошо-бы объяснить, в первую очередь самому себе, что ты хочешь сделать.
Тебе-бы хороший букварь почитать. Например, этот.
Читайте задание. Для непонятливых дублирую в третий раз

Здравствуйте. Использую терминальную программу для обработки данных с метеорной станции https://globalmeteornetwork.org/wiki/index.php?title=Main_Page сложение кадров, составление мозаик, расчет радиантов, не суть…

Для ее активации нужно вводить в терминале:

cd source/RMS
source ~/vRMS/bin/activate
Возникло желание сделать скрипт для запуска программы, содержащий эти две команды.

Первоначальный вариант скрипта:

#!/bin/bash
cd source/RMS
source ~/vRMS/bin/activate
Не работоспособен: в открывшемся окне терминала нет приглашения к вводу. Я не могу вводить команды для обработки данных! Начало строки должно быть таким: (vRMS) (base) vas@vas-desktop:~/source/RMS$ Позже я изменил код:

#!/bin/bash
gnome-terminal --working-directory=$HOME/source/RMS -x bash -c "source $HOME/vRMS/bin/activate; exec bash"
Терминал открывается в новой вкладке, в заданной директории, НО не проходит команда source $HOME/vRMS/bin/activate А именно: начало строки ввода имеет вид:

(base) vas@vas-desktop:~/source/RMS$
А должна:

(vRMS) (base) vas@vas-desktop:~/source/RMS$
Отсутствует (vRMS). Команды для обработки не принимаются! Пожалуйста, подскажите как сделать правильно? Если не затруднит, предоставьте актуальную информацию по команде gnome-terminal.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6911
    • Просмотр профиля
Re: Запуск терминала с помощью скрипта
« Ответ #19 : 28 Июня 2021, 11:17:08 »
То, что ты абсолютно не знаешь компьютерной грамматики повторять не надо. Надеюсь, читать умеешь.
 "cd source/RMS" - означает переход из текущего каталога в каталог /<текущий>/source/RMS.
Если в текущем каталоге есть подкаталог source/..., то команда выполнится. Если подкаталога source/... нет, то будет ошибка.
Если ты выполнишь эту команду из любого другого каталога, то там точно нет подкаталога source, получаешь ошибку.
Какой каталог текущий в момент запуска скрипта - неопределено. Получаешь плавающую ошибку, которую выловить еще сложнее, чем постоянную.
activate - это программа или какой-то файл данных?

Morisson

  • Гость
Re: Запуск терминала с помощью скрипта
« Ответ #20 : 28 Июня 2021, 11:20:07 »
Для непонятливых дублирую в третий раз
Вот. На другом сайте ты более дружелюбный. И там ты сразу это "для непонятливых" написал.

Оффлайн c47

  • Активист
  • *
  • Сообщений: 356
    • Просмотр профиля
Re: Запуск терминала с помощью скрипта
« Ответ #21 : 28 Июня 2021, 11:29:23 »
Читайте задание.
Я дико извиняюсь, но "заданий" здесь нет. Как и "задач", "поручений" и их синонимов. Есть "прошу совета", умеете же:
Если не затруднит, предоставьте актуальную информацию по команде gnome-terminal.
Если более опытные люди задают встречные вопросы, то видимо что-то в первоначальном вопросе не сходится, или хотят посоветовать вариант лучше (но для этого крайне желательно знать, ЧТО же должно быть в итоге, или хотя бы КАК), а если вы вообще не представляете, в чём разница между относительным и абсолютным путём - то за скрипты лучше вообще не садиться, иначе можно дров наломать и обнаружить это через непоправимо большой промежуток времени.

Оффлайн Vas1992

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Запуск терминала с помощью скрипта
« Ответ #22 : 28 Июня 2021, 11:36:16 »
Можно ближе к теме?

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6755
  • 20% Cooler
    • Просмотр профиля
Re: Запуск терминала с помощью скрипта
« Ответ #23 : 28 Июня 2021, 11:37:45 »
покажите
cat ~/vRMS/bin/activate
Если не затруднит, предоставьте актуальную информацию по команде gnome-terminal.
man gnome-terminal

Без всяких скриптов, введите в терминал
cd source/RMS
source ~/vRMS/bin/activate
Есть приглашение ко вводу?
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Vas1992

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Запуск терминала с помощью скрипта
« Ответ #24 : 28 Июня 2021, 11:47:38 »
cd source/RMS
source ~/vRMS/bin/activate

Все работает как надо.

Проблемы начинаются при попытке собрать все в кучу. Спотыкается на второй команде source ~/vRMS/bin/activate. То есть не происходит "Активация среды RMS".

shamanhuev

  • Гость
Re: Запуск терминала с помощью скрипта
« Ответ #25 : 28 Июня 2021, 12:32:40 »
использовать абсолютный путь не ?

Оффлайн Heider

  • Старожил
  • *
  • Сообщений: 1269
    • Просмотр профиля
Re: Запуск терминала с помощью скрипта
« Ответ #26 : 28 Июня 2021, 13:45:21 »
А если так сделать:
cd ~/source/RMS
source ~/vRMS/bin/activate
Будет работать?

Если да, то и в скрипте пропишите также. Если нет, то найдите, где у Вас этот source/RMS. Или покажите нам вывод команды
pwdиз той же текущей директории, в которой Вы были, когда набирали команды.

Оффлайн Vas1992

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Запуск терминала с помощью скрипта
« Ответ #27 : 28 Июня 2021, 21:09:21 »
РЕШЕНО

Создайте файл по пути $HOME/source/RMS/bashrc (для примера, можно создать его где угодно) с содержимым:

source $HOME/.bashrc
cd source/RMS
source ~/vRMS/bin/activate
После чего запускайте gnome-terminal -- bash --rcfile $HOME/source/rms/bashrc

 

Страница сгенерирована за 0.039 секунд. Запросов: 23.