Получение настройки, значения chdir, из экрана GNU
Я использую screen
"s chdir
Команда для установки нового рабочего каталога для новых окон экрана, подробнее об этом позже. Что мне нужно сделать, это выяснить, что за настройка была до того, как я установил ее, чтобы я мог установить ее обратно. Я могу сделать это экспериментально, начав новый сеанс и повторив $PWD
но я не могу сделать это более конкретно таким образом, чтобы я мог получить и сохранить значение в сценарии. Я чувствую, что, возможно, есть какая-то команда на очень подробной странице справочника, которая выполнит это, но я еще не нашел ее.
Теперь, чтобы объяснить, что я делаю именно для этого:
У меня есть скрипт, который запускает около 4 процессов параллельно, оказывается очень удобно, чтобы каждый из них запускался самостоятельно screen
окно. В скрипте bash легко определить, что я запускаю скрипт внутри screen
с этим тестом: if [[ $TERM =~ screen* ]]; then
Есть и другие способы, но этот в порядке. В сценарии я могу выполнить screen -x -X screen process1
, Это присоединяется к текущему сеансу в многопользовательском режиме и просит его открыть новый screen
окно запускает процесс. Это необходимо изнутри скрипта, потому что без -x он будет жаловаться на то, что текущая команда не выполняется в терминале, что правильно, она не интерактивна. В любом случае, процесс1 должен работать по определенному пути. Не один, а один из любых четырех или пяти, где разные версии процесса1. Я запускаю сценарий с этого пути. Но screen
часто не запускается по этому пути, поэтому process1 будет запускаться в новом рабочем каталоге, где указано screen
был начат. Нет проблем, просто выполните screen -x -X chdir $PWD
перед запуском process1 (2, 3 и 4) и вы на правильном пути. Однако вы навсегда изменились screen
рабочий путь по умолчанию для нового окна, это расстроит пользователя (меня и некоторых коллег). Так что не должно быть никаких проблем с выдачей screen -x -X chdir $oldCHDIR
перед выходом. Тем не менее, я не могу выяснить, что $oldCHDIR
был, и, честно говоря, это может быть что угодно, ничего не так просто, как это определенно $HOME
, Если вы все еще читаете и задаетесь вопросом, каков был мой вопрос, это был вопрос в первом абзаце, как я могу узнать screen
тока chdir
установка.