Налагодження env vars з ssh


0

Я пишу скрипт і додаток для вбудованої плати з linux - не X, тільки консоль. Єдиний спосіб досягти мети - через ssh, у мене немає підключеного монітора.

Скрипт повинен експортувати пару env vars, які будуть використовуватися програмою. Я знаю, що для цього потрібно створити скрипт, але я не в змозі налагодити це, тому що я не знаю, як перевірити, чи скрипт працює з ssh.

Тривіальні рішення:

  • перевірити сценарій в іншій системі
  • запустіть програму налагодження, щоб перевірити env vars і надрукувати файл
  • і т.д.

Я просто запитую, чи є спосіб використовувати ssh для цього. Цікаво дізнатися щось нове, обхідні шляхи відомі!

Приклад сценарію:

#!/bin/sh
export MY_VAR="blablabla"
exit 0

Справжній сценарій, звичайно, більш складний, але це все.

Відповіді:


1

Ви не навели приклад вашого сценарію, тому важко зрозуміти, чого ви прагнете досягти. У будь-якому випадку ви повинні знати, що експортовані змінні видно тільки в поточному сеансі ssh та його дітях. Наприклад:

ssh -t user @ remotehost "експортувати TEST = тест & amp; echo - вихід - "тест"
ssh -t user @ remotehost "експортувати TEST = тест" & amp; & amp; ssh -t user @ remotehost "echo - вихід є порожнім
Якщо ви хочете визначити vars назавжди, зробіть це в .bashrc або .bash_profile


Доданий приклад, як просили. Ваше рішення працює, оскільки ви експортуєте змінні безпосередньо як команду. Але це не повинно працювати (прошу вибачення, не можу спробувати до цього дня) запуск сценарію. Необхідно створити скрипт, який закриє з'єднання ssh, коли він закінчується ...
Mark

Чи є скрипт на хост-джерелі або на віддаленому хості? Як ви його запускаєте?
user1700494

Сценарій розташований на цілі (віддаленому хості). Програму Qt5 C ++ запустить.
Mark

Можливо, я знайшов проблему. З деяких причин сценарій, який фактично знаходився на мішені, мав "вихід 0" наприкінці (я оновив початковий приклад узгодженості). Запуск сценарію був нормальний, але пошук його призвів до закриття оболонки або з'єднання SSH - тут моє питання!
Mark
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.