Похожие вопросы

Scripting: что проще всего извлечь значение в теге XML-файла?
BASH: асинхронное выполнение команд с задержкой
Можно ли отображать текстовый файл в нескольких вертикальных областях?
каталоги diff, исключая одну папку внутри
строка 63: синтаксическая ошибка рядом с неожиданной знак `;' в bashrc следующее
grep файл и передать выходные данные в sed и сохранить выходные данные sed в файле
Нашел скрипт на моем кроне.ежемесячно, мне интересно, что он делает?
Есть ли способ определить, какой пользователь выполнил команду в истории bash?
Сортировка музыкальной библиотеки по BPM
Как поставить в очередь несколько файлов для копирования на Mac?
Windows 10 Ubuntu-создание папки из windows, то доступ из Bash
Не удается установить subversion поверх yum
Почему inotifywait-m работает несколько раз? (бесконечный цикл)
Сравните два файла и выведите различия
Что такое эквивалент 'ps-T PID' в AIX для Linux?

Putty: войдите в систему, выполните команду / измените переменную среды и не закрывайте сеанс

Я хотел бы настроить свой сеанс PuTTY таким образом, чтобы я мог войти в систему на удаленном хосте, и (а) начать bash (б) изменить переменную PS1 (быстрое содержимое) (в) продолжить работу в сеансе, как обычно.

пробовал:

  1. соединение -> данные -> переменные среды [не работает; сеанс выглядит так, как будто (b) не был выполнен]
    и
  2. соединение - > SSH - > удаленная команда: PS1= "некоторые вещи" [открывается окно с сессией на долю секунды, а потом она закрывается]

какие идеи? Я посмотрел на некоторые подобные вопросы на форуме, но не нашел ничего полезного.

в целом: я войти в Хост, где многие пользователи войти в качестве одного пользователя, и, таким образом, все они разделяют "настройки" одного пользователя. Я ищу способ заставить PuTTY временно изменить некоторые из этих настроек (т. е. чтобы они были ограничены временем сеанса, который я открываю с помощью PuTTY). Запустил личную версию .bashrc в рамках сессии. Надеюсь, это имеет смысл.

5
задан Simon Righley
источник

3 ответов

целевой сервер должен быть настроен на прием установка переменных окружения для 1-го варианта работы. Второй-это на самом деле работает нормально, проблема в том, что он предназначен для имитации

ssh user@foo command

что будет просто подключить, запустить command и выход. Вы можете иметь его оставаться открытым, давая ему command; bash но это не будет работать для установки переменных sice новая оболочка будет запущена после того, как переменная была установлена.

итак, не хватает корневой доступ к серверу, так что вы можете включить настройку переменных среды, единственный способ, который я могу придумать для вас, чтобы сделать это, чтобы изменить ~/.bashrc сервер и определить свой PS1 там. Добавьте эту строку ~/.bashrc:

PS1="some stuff"

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


другой способ сделать это-использовать другой rcfile для вашего сеанса bash. Создайте новый файл с помощью строки:

source /etc/profile
source ~/.bashrc
PS1='some stuff'

Сохранить как, например, ~/.myps1, затем в настройках putty задайте команду для запуска на удаленном сервере:

bash --rcfile ~/.myps1

это откроет новый сеанс оболочки удаленного сервера и прочтет файл, над которым сначала читается .bashrc и PS1.

2
отвечен terdon 2017-04-13 12:14:40
источник

попробуйте установить для удаленной команды значение export PS1='foo'; /usr/bin/bash... это должно породить сеанс bash после установки PS1.

0
отвечен BowlesCR 2014-01-29 17:54:32
источник

для тех, кто по разным причинам не может модифицировать sshd config и/или имеет + 2000 серверов (и не имеет доступа к инструментам массовой настройки или не может / не хочет менять настройки для других пользователей), вот решение, которое я придумал:

enter image description here

в PuTTY загрузите нужный сеанс, перейдите в Connection > SSH. В разделе "Данные для отправки на сервер", в поле "удаленная команда" используйте:

env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...] bash

пример:

env -u PS1 PS1="[\u@\h]\$ " bash

I сначала удалите переменную, потому что иначе она не работала.

0
отвечен yahol 2018-05-20 11:33:07
источник

Другие вопросы bash command-line putty solaris ssh