2015-04-30 2 views
0

Я новичок в ssh, так что простите меня, если мои вопросы тривиальны. Мне нужно сделать удаленный компьютер, выполнив несколько команд несколько раз, поэтому я думал о создании цикла с использованием ssh .. проблема в том, что я не знаю, могу ли я сохранить эти команды в файле и цикл в этом файле, или я могу сохранить их в ssh и просто вызвать их .. я действительно обеспокоен..также, если я сделаю цикл, как этокак ssh петля над несколькими командами

i= 10 
while i!= 0 
execute command.text file ??? 
i-- 

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

ответ

0

Просто попробуйте сначала на оболочке на удаленном компьютере, чтобы выполнить нужную команду.

Вы найдете много информации в интернете о петель в оболочке/Баш/CSH/whatevershell:

Например предполагающей Баш работать в удаленном хосте (с: http://www.bashoneliners.com/)

$ for ((i=1; i<=10; ++i)); do echo $i; done 

После вы узнаете об этом, просто после этого сделайте это заявление команде ssh с машины, которую вы хотите вызвать:

$ ssh [email protected] 'for ((i=1; i<=10; ++i)); do echo $i; done' 
0

Вы можете написать простой скрипт, который wil l выполните необходимые команды и перейдите к ssh. Например:

script.sh, он будет итерацию над кучей команд 10 раз:

for i in $(seq 10) 
do 
command1 
command2 
command3 
done 

и путь его к удаленному серверу для выполнения: $ ssh $SERVERNAME < script.sh

0

Если у вас есть эта command.text файл, в котором вы написали все команды в столбце (вы можете изменить их с помощью vi или vim и поместить их в колонку), вам даже не нужно делать цикл, вы можете просто сделать:

cat command.text | awk '{print "ssh [email protected] "$0" "}' | sh -x

Например, если command.text содержит:

ls -lart 
cd /tmp 
uname -a 

Это позволит вам сделать все команды, написанные в command.text делая ssh [email protected].

Смежные вопросы