В bash
можно использовать синтаксис
str=$'Hello World\n===========\n'
Одинарным кавычкам предшествует a $
новый синтаксис, который позволяет вставлять escape-последовательности в строки.
Также printf
встроенный позволяет сохранять получающийся вывод к переменной
printf -v str 'Hello World\n===========\n'
Оба решения не требуют подоболочки.
Если в следующем необходимо распечатать строку, необходимо использовать двойные кавычки, как в следующем примере:
echo "$str"
потому что при печати строки без кавычек новая строка преобразовывается в пробелы.
Не согласно странице справочника, которая только вызывает attach -r
опция включить режим только для чтения.
Кроме того, в исходном коде, только следующая строка в cmd-attach-session.c
устанавливает флаг только для чтения. Остальная часть кода проверяет, установлен ли этот флаг, но не изменяет свое значение. Таким образом, снова похоже, что Вам не повезло, если Вы не можете внести (или запрос) изменение кода:
if (cmd_check_flag(data->chflags, 'r'))
ctx->cmdclient->flags |= CLIENT_READONLY;
В tmux 1.9a
вы можете выполнить : switch-client -r
. Я не уверен, что это новое в 1.9a, но это та версия, которую я использую, и я могу изменить существующий сеанс tmux в режим только для чтения.
В tmux 2.9a
, man tmux
говорится (подattach-session
):
-r signifies the client is read-only (only keys bound to the
detach-client or switch-client commands have any effect)
Исходя из этого, вы можете сделать ярлык для перехода к чтению -только (и обратно ), предоставив собственную привязку к:switch-client -r
:
# Toggle read-only with <prefix>R
bind-key R switch-client -r
Это также будет работать, когда клиент -только для чтения.
Обратите внимание, что добавление дополнительной команды display-message
не сработает.:tmux
откажется выполнять функцию, связанную с клавишей, поскольку это уже не просто команда switch-client
.