Я использовал команду screen
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
.