Я пишу сценарий оболочки, где мне нужно удалить файл на удаленной машине через сценарий оболочки.
Подача вручную:
ssh username@domain.com
.. тогда в домене:
cd ./some/where
rm some_file.war
Как выполнить эту задачу?
ssh
shell-script
Мико
источник
источник
-f
кrm
выполнению удаленного вызова?rm
ими, безусловно, следует передать вызывающей стороне, если пользователь не знает, чего ожидать и почему он что-то переопределяет. Множество ошибок и разочаровывающих отладок позже можно избежать, используя только те опции, которые вам нужны в данном сенарио.-f
дляrm
является коротким--force
и влияет на то, есть ли ошибки для несуществующих файлов или фиктивных аргументов. Обычно команды, выполняемые в неинтерактивных оболочках, по умолчанию все равно являются менее интерактивными, но это не так, или вы получаете интерактивное приглашение, и вам нужно будет исправить настройки, непосредственно связанные с этим. Если вы пишете этот сценарий, у вас все равно не должно быть этой проблемы, и если вы находитесь в интерактивной оболочке (где у вас есть возможность катастрофических опечаток), вы должны использовать-I
on,--interactive=never
чтобы установить желаемое поведение.Если вы хотите удалить удаленный файл с использованием sudo, вам нужно выполнить что-то вроде этого:
Подробности .
источник
У команды ssh есть параметр команды (последний параметр в команде), который вы можете использовать для запуска удаленных команд.
источник
Настройте ключи без пароля, затем добавьте команду как часть команды ssh. См .: http://www.dotkam.com/2009/03/10/run-commands-remotely-via-ssh-with-no-password/
источник