Добавлять строку перед каждой строкой stdin

Вот обходной путь автоматизации парольной фразы SSH.

  1. Создайте однострочный сценарий, который распечатывает вашу парольную фразу до стандартного вывода, например:

      echo 'echo MY_SSH_PASSWORD' > ~/.print _ ssh _ password & & chmod 700 ~/.print _ ssh _ password
    

    Внимание! Убедитесь, что вы копируете ведущий космос в , чтобы предотвратить сохранение пароля в журнале .

И используйте один из следующих методов.

  • с использованием стандартного подхода ввода:

     cat ~/.ssh/id _ rsa | SSH_ASKPASS=~/.print_ssh_password ssh-add -
    
  • или метод именованного канала :

    1. Создайте именованный канал (можно также попробовать замену процесса ):

       mkfifo -- метод 0600 ~/.ssh _ fifo
      
    2. Запустите ssh-add , указав программу, используемую для аутентификации:

       cat ~/.ssh/id _ rsa > ~/.ssh _ fifo | SSH_ASKPASS=~/.print_ssh_password ssh-add ~/.ssh _ fifo
      

    См. man ssh-add для получения дополнительной информации о SSH _ ASKPASS .

-121--671-

Раньше был параметр командной строки для хронирования, но, к сожалению, это не то, на что вы можете положиться:

chromium-browser --window-position=10,10

Поэтому одной из возможных тактик является установка xdotool и использование его для перечисления всех идентификаторов окон, соответствующих имени chromium (что и происходит в браузере), и затем используйте xdotool, чтобы получить их размер:

xdotool search chromium|xargs -i xdotool getwindowgeometry {}

Выберите наибольший, например

Window 52428801
  Position: 6,6 (screen: 0)
  Geometry: 1627x985

, и переместите это окно с помощью

xdotool windowmove 52428801 0 0

Снова переместите окно с помощью мыши, закройте его и перезапустите хром и посмотреть, помнит ли он, где он был помещен в прошлый раз.

-121--243309-

Наконец я сам нашел решение. Таким образом, для всех, кто сталкивается с подобной проблемой:

Прежде всего, я сделал полный дисковый дамп нерабочих raid-дисков с помощью live cd.

dd if=/dev/sda bs=10M | gzip -1 > /some/backup/drive/sda.img.gz
dd if=/dev/sdc bs=10M | gzip -1 > /some/backup/drive/sdc.img.gz

Я перезагрузил и удалил оба диска из массива в Intel Raid util (после BIOS). Потом я снова загрузился с живым компакт-диском.

dmraid автоматически активировал дисковый raid. Поэтому мне пришлось деактивировать его

dmraid -an

После этого я проверил состояние разделов

mdadm --examine /dev/sda1
mdadm --examine /dev/sdc1

Диск sda имел неправильный суперблок. Я исправил его и активировал рейд.

mdadm --zero-superblock /dev/sda1
mdadm -A --run /dev/md0 /dev/sdc1
mdadm -add /dev/md0 /dev/sda1

0
12.04.2018, 15:38
2 ответа

Один из вариантовawk:

for j in...; do
  oc... | bunyan --color... | awk -v node="$j" '{print node " " $0}'
done

Пример запуска:

$ for j in node1 node2 node3
> do
> echo stuff | awk -v node="$j" '{print node " " $0}'
> done
node1 stuff
node2 stuff
node3 stuff

Другой вариантsed:

for j in node1 node2 node3; do
  j=${j////\\/}
  j=${j//&/\\&}
  oc... | bunyan --color... | sed "s/^/$j /"
done

Мы позаботились о том, чтобы избежать любых косых черт -или &в j, так как sed интерпретирует их специально в командах s//. Я использовал bash -ism для поиска -и замены -в расширении параметра. Две прямые косые черты -означают «заменить все совпадения», а двойная \\используется для того, чтобы в замененном тексте была одна обратная косая черта.

3
28.01.2020, 02:32

Это работает для меня:

oc logs -f "$j" | bunyan -o short -l error  | while read line; do echo "$j $line"; done &

но одна проблема заключается в том, что я теряю стиль терминала, что было полезно. Кто-нибудь знает, как сохранить контрольные символы и т. Д.?

0
28.01.2020, 02:32

Теги

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