Posix Character Устанавливает разницу между [[: blank:]] и [[: space:]]?

TL; DR

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

  1. Вы можете передать ssh в качестве команды ssh следующим образом:

    • cat local_script.sh | ssh -A usera @ bastion ssh -A userb @ privateserver "cat> remote_copy_of_local_script.sh; bash remote_copy_of_local_script.sh"
  2. Остерегайтесь псевдотерминалов


Обратите внимание, что ключевым моментом здесь является то, что ssh , как и большинство инструментов, по умолчанию обрабатывает правильные stdout и stdin .

Однако, когда вы начинаете видеть такую ​​опцию, как Отключить выделение псевдотерминалов. и Принудительное выделение псевдотерминалов. вам может потребоваться немного проб и ошибок. Но, как общее правило , вы не хотите изменять поведение tty , если только вы не пытаетесь исправить искаженный / двоичный мусор в эмуляторе терминала (что вводит человек).

Например, я обычно использую -At , чтобы перенаправлять ssh-agent моей рабочей станции и чтобы удаленный запуск tmux не блокировал двоичный файл (например, ssh -At bastion. внутренний tmux -L bruno attach ). И для докеров тоже (например, sudo docker exec -it jenkins bash ).

Однако эти два флага -t затрудняют отслеживание повреждения данных, когда я пытаюсь сделать что-то вроде этого:

# copy /etc/init from jenkins to /tmp/init in testjenkins running as a container
ssh -A bastion.internal \
ssh -A jenkins.internal \
sudo tar cf - -C /etc init | \
sudo docker exec -i testjenkins \
bash -c 'tar xvf - -C /tmp'

# note trailing slashes to make this oneliner more readable.

7
21.03.2017, 01:47
1 ответ

Класс [[:space:]] является надмножеством класса [[:blank:]], который дополнительно (кроме пробела и табуляции из [[:blank: ]]) включает

  • символ новой строки (\n, перевод строки в Unix, ASCII код 10),
  • вертикальную табуляцию (\v, ASCII код 11),
  • подача формы (\f, ASCII код 12), и
  • возврат каретки (\r, ASCII код 13).

... в локали POSIX, то есть. В других локалях могут быть дополнительные символы пробела.

12
27.01.2020, 20:16

Теги

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