Я делаю ssh на сервере и выполняю сценарий оболочки, как показано ниже.ssh выполнить скрипт оболочки с аргументами
ssh -o 'StrictHostKeyChecking no' [email protected]$some_ip_address sh execute_all.sh '/usr/local/bin/ruby /home/user1/run.rb 2>&1 >> /home/user1/run.log'
Содержимое моего файла оболочки, как показано ниже
if [ -z "$1" ]
then
echo "Please supply the command to be executed"
exit 1
fi
echo "$1"
COMMAND=$1
eval $COMMAND
if [ $? -eq 0 ]; then
exit 0
else
exit 1
fi
Когда я бегу все это я получаю в журналах является '/ USR/местные/бен/узел. Я также пробовал $ *, и он печатает '/ usr/local/bin/ruby /home/user1/run.rb 2'. Очевидно, что моя команда eval не может выполнить.
Я хочу запустить всю свою команду в сценарии оболочки. Как это сделать.