2015-03-13 6 views
0

Этот скрипт требуется IP-и сценарий или файл, который мы должны работать на удаленном сервере, я дал файл, в котором я написал такие команды, какБаш скрипт экземпляра доступа ec2

touch /root/test 
ls /root/test 

это сделать файл, но не показывать и отображается сообщение об ошибке

tcgetattr: недопустимом IOCTL для устройства

соединение закрыто

Как я могу решить это там y предложение?

#!/bin/bash 

# The private key used to identify this machine 

IDENTITY_KEY=/home/admnew.pem 

syntax() 
{ 

    echo "Syntax: Ec2.sh server_ip scriptFile]" 

    echo "For example: ./Ec2.sh server_ip scriptFile" 

    exit 1 
} 

if [ $# -ne 2 ] 

then 

    echo not enough arguments 

    syntax 
fi 


     echo "Running script $2 on $1" 

     ssh -t -t -i $IDENTITY_KEY [email protected]$1 sudo -i 'bash -s' < $2 

     exit 
exit 

echo "Done" 

ответ

0

Попытка:

ssh -t -t -i $IDENTITY_KEY [email protected]$1 sudo -i 'bash -s' <<EOF 
(
$(cat "$2") 
) 
EOF 

например, обернуть сценарий в (), например:

touch /root/test 
ls /root/test 

должен быть

(
touch /root/test 
ls /root/test 
) 
+0

нет его не работает EOF команда не найдена –

+0

@HassaanHashmi двойной проверки (Используйте '-x'), как вы скопировали мой ответ. Вы использовали двойной '<<'? – jm666

+0

не вы говорите, дайте ( сенсорный/корень/тест Ls/корень/тест ) в сценарии, но я даю это в другом файле позволяет увидеть, как этот сценарий работы, например: ec2.sh ф file В этом файле я дал touch/root/test и ls/root/test и другие команды файл создается, но команда ls не показывает вывод –

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