Простой сценарий загрузки / установки (OS X), который мог бы быть лучше

Вы не можете использовать проксирование / туннелирование в качестве ssh-ключа хранится на сервере прыжков и недоступен локально. В идеале вы создаете новый ключ и добавляете его в ~ / .ssh / authorized_keys на DestinationHost , но это может быть невозможно.

Самый простой способ настроить это - использовать удаленную команду и переадресацию через два локальных порта.

Открыть терминал на DestinationHost :

ssh -t HopHostUser @ HopHost «ssh DestinationHost»

Открыть терминал + перенаправление портов с DestinationHost на Localhost ]:

ssh -t -L8081: localhost: 9999 HopHostUser @ HopHost "ssh -L9999: localhost: 80 DestinationHost"

Лучше всего использовать для этого вашу конфигурацию ssh. Это очень долго.

0
22.06.2018, 20:13
1 ответ

Это можно было бы изменить, чтобы использовать "мы уже там?" проверка здравомыслия, а не сон на шестую долю минуты:

#!/bin/bash -x

cd ~/Downloads
curl -O https://dl.google.com/chrome/mac/stable/CHFA/googlechrome.dmg
open ~/Downloads/googlechrome.dmg
while ! [[ -d /Volumes/Google\ Chrome/ ]]; do
   sleep 1
done
cp -R /Volumes/Google\ Chrome/Google\ Chrome.app /Applications && open 
/Applications/Google\ Chrome.app
diskutil eject Google\ Chrome

Однако, в случае, если .dmgне удается установить или по какой-то причине установить в другом месте, это будет крутиться до конца времен.

Немного лучше, чем передавать это open, хотя (который просто просит Finder притвориться, что мы дважды -щелкнули файл ), давайте смонтируем его сами:

#!/bin/bash -x
cd ~/Downloads
curl -O https://dl.google.com/chrome/mac/stable/CHFA/googlechrome.dmg
set -o pipefail
if mountpoint=$(hdiutil attach googlechrome.dmg | awk 'END { print $1 }'; then
   cp -R /Volumes/Google\ Chrome/Google\ Chrome.app /Applications && open 
   /Applications/Google\ Chrome.app
   hdiutil detach "$mountpoint"
fi
1
28.01.2020, 02:42

Теги

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