На клиентах, под свойствами/усовершенствованным/DNS TCP/IP, гарантируют, чтобы "Добавили основной и соединение, определенные суффиксы DNS" выбраны и также который "Добавляют родительские суффиксы основного суффикса DNS", проверяется.
Кроме того, для FQDN в Системных Свойствах удостоверьтесь, чтобы "изменили основной суффикс DNS, когда доменные изменения членства" проверяются.
Если Вы действительно не можете записать файл сценария в систему, Вы могли бы перенести свои команды в круглую скобку:
( ls; echo this; echo that; )
то же соглашение, мультилиния:
(
ls
echo this
echo that
)
Можно также перенести сценарий в фигурные скобки, если Вы не хотите, чтобы он выполнился в подоболочке:
{
echo one
echo two
}
Иначе должен передать эхо по каналу в sh
или bash
:
echo '
echo one
echo two
' | bash
или используйте eval
:
eval '
echo one
echo two
'
Править:
Это также работает:
bash <<EOF
echo one
echo two
EOF
Это действительно зависит от того, что вы подразумеваете под «не выполнять, пока вы не укажете все строки». Bash - это интерпретируемый язык (не компилируемый), поэтому независимо от того, каким образом вы его разрезаете, оболочка будет читать и выполнять строки по одной за раз, каждая команда будет генерировать свой собственный код возврата независимо, независимо от того, помещаете ли вы эти команды в подоболочки или другие вещи.
Итак, я подозреваю, что вы действительно спрашиваете:
(a) есть ли способ собрать все выходные данные в одной области экрана без прерывания
(b) есть ли способ для вам нужно только один раз нажать клавишу «Enter», чтобы все команды выполнялись последовательно
Если вы присоединяетесь к каждой командной строке, разделенной точкой с запятой ';' тогда это имеет тот же эффект, что и запуск их на разных строках. Так что соедините их все вместе в одну строку и нажмите «Enter» один раз в конце. Вы можете сделать это вручную, набрав, или вы можете обработать свой сценарий оболочки с помощью инструмента (например, sed или tr), чтобы заменить символы конца строки точками с запятой, а затем передать результат в ssh. На локальном хосте запустите следующее:
cat script.sh | tr "\ n" ';' | ssh [удаленный хост]
Обратите внимание, что это не создает интерактивную оболочку на удаленном хосте, а только запускает команды из сценария и затем возвращает управление вашему локальному хосту.
\ n "';' | ssh [удаленный хост]Обратите внимание, что это не создает интерактивную оболочку на удаленном хосте, а только запускает команды из сценария и затем возвращает управление вашему локальному хосту.
\ n "';' | ssh [удаленный хост]Обратите внимание, что это не создает интерактивную оболочку на удаленном хосте, а только запускает команды из сценария и затем возвращает управление вашему локальному хосту.