Как выполнить документы на получение оболочки, не создавая файлы

Да, можно сделать ссылку .vhd только для чтения и присоединить Диск Differencing:

Differencing - Differencing является понятием, которое включает родительский диск и дочерний диск. Родительский диск содержит базовый образ жесткого диска с операционной системой и возможно диапазоном приложений и установленных данных. После того как этот базовый родительский диск настроен, differencing диск назначен ребенком. Когда виртуальная машина, которой диску присваивают выполнения, любые изменения, внесенные базовое родительское изображение, на самом деле хранится на дочернем differencing диске, оставляя родительский диск неизменным. Несколько дочерних дисков могут быть присвоены родительскому диску, позволяющему несколько виртуальных машин совместно использовать тот же родительский диск. Диски Differencing могут также быть объединены в цепочку вместе. Изменения, содержавшиеся в differencing диске, могут быть объединены в родительский диск. С другой стороны, новый виртуальный жесткий диск может быть создан содержащий слияние родительского диска и дочернего диска, таким образом, оставив родительский диск неизменным. При создании differencing диска должен будет быть указан родительский диск. Размер differencing дисковых увеличений как пространство требуется. Диски Differencing могут также быть уплотнены к свободному неиспользуемое место (см. раздел ниже наделенных правом Изменяющих Существующих Виртуальных жестких дисков Hyper-V).

Ссылка.

Это имеет потерю производительности, хотя, как убегание многих родительских снимков, но это по всей вероятности не будет примечательно, если Ваш сервер не будет очень занят.

Я не могу помнить, можно ли установить VM, чтобы всегда начать с родительского изображения, но я думаю, что Вы можете. Кто-то, должно быть, сделал сценарий PowerShell, чтобы сделать это в худшем случае.

2
задан 21 June 2012 в 09:57
4 ответа

У большинства интерпретаторов есть параметр для указания некоторого кода для выполнения. Вы можете использовать это для вызова определенного интерпретатора и предоставления кода. Например:

bash -c 'function run_free() { free -m; }; run_free'

(Обратите внимание, что вам нужны точки с запятой, так как у вас нет новых строк.)

perl использует -e , а python использует -c .

11
ответ дан 3 December 2019 в 08:33

Вы можете использовать здесь документы для загрузки скриптов SSH:

ssh -T myhost <<EOF
hostname
whoami
uptime
EOF

'-T 'отключает выделение TTY.

Я использую этот метод для запуска стандартного сценария для нескольких учетных записей пользователей в одной из наших сторонних служб, которая не позволяет использовать общедоступный каталог bin с возможностью записи. Метод SSH здесь-документа устраняет необходимость копировать (и поддерживать) один и тот же сценарий для нескольких учетных записей.

2
ответ дан 3 December 2019 в 08:33

TeamViewer Host устанавливается, например, на сервере в качестве службы, и вы можете подключиться к нему удаленно в любое время. Обычная полная версия teamviewer объединяет людей, «запуская» программное обеспечение teamviewer самостоятельно (при необходимости запускать их каждый раз вручную) или для подключения к серверам TeamViewer Host.

Посмотрите здесь, где описаны выпуски: Я слышал, что вам нравится оболочка, поэтому я помещаю оболочку в оболочку, чтобы можно было оболочку, пока вы оболочка.

Другими словами, вы создаете оболочку для своей команды echo , а затем просто выводите все в одной строке . Shell интерпретирует это как просто команду echo. Даже если этого не произошло, тот факт, что все находится в одной строке (особенно отсутствие новой строки после #! / Bin / bash ), вызывает проблемы.

Набирая этот ответ, я обнаружил из вашего комментария вы собираетесь запускать команды через ssh. Тогда должно сработать что-то вроде этого:

ssh your_user@yourserver "function run_free() { free -m } run_free"
1
ответ дан 3 December 2019 в 08:33

Вы можете создать сценарии в исходной системе ssh и передать их в сеанс ssh

ssh user@somehost.tld /bin/bash <local.script

Поместите свой пример в локальный сценарий run_free

ssh somehost.tld /bin/bash <run_free
Pseudo-terminal will not be allocated because stdin is not a terminal.
         total       used       free     shared    buffers     cached
Mem:           371        246        124          0         49         80
-/+ buffers/cache:        116        254
Swap:          767          0        767

запускает локальный сценарий на удаленном хосте.

Вы можете сделать то же самое с perl

ssh user@somehost.tld /usr/bin/perl <perl.script
0
ответ дан 3 December 2019 в 08:33

Теги

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