Я пытаюсь удаленно выполнить сценарий Bash, определенный как $CONST_FILE
, передав ему параметр (в данном случае -u
). К сожалению для меня, интерпретатор Bash назначает мою опцию ssh вместо моего скрипта; вызывает ошибку, поскольку ssh не имеет опции -u
. Приведенный ниже фрагмент кода вызывает у меня проблему:
(ssh -o StrictHostKeyChecking=no -l $CONST_USERNAME $HOST_NAME_LOGIN<$CONST_FILE -u)
В предыдущих сценариях Bash я мог выполнять сценарии Bash с помощью вышеупомянутого метода, пока я не передавал параметр со сценарием, который пытался выполнить.
Я безуспешно пробовал различные варианты размещения {} "" '' []
и других персонажей. Какой набор символов мне нужен, чтобы интерпретатор Bash понял, что -u
должен использоваться $CONST_FILE
вместо ssh?
Обычный способ - использовать такую команду:
ssh -o StrictHostKeyChecking=no -l $CONST_USERNAME $HOST_NAME_LOGIN "$CONST_FILE -u"
Вы также можете использовать такой формат:
ssh -o StrictHostKeyChecking=no ${CONST_USERNAME}@${HOST_NAME_LOGIN} "$CONST_FILE -u"
Вы пробовали заключать свою команду в кавычки? как: * ssh -o StrictHostKeyChecking = no -l "$ CONST_USERNAME $ HOST_NAME_LOGIN <$ CONST_FILE -u"