Я пытаюсь создать функцию, которая будет принимать $PASS
, $USER
и $COMMAND
в качестве входных данных, $USER
и $PASS
являются необязательными, то есть будут использоваться имя пользователя и пароли по умолчанию, если не было поставляется в качестве параметров. Вот моя функция
function exec_ssh_command() {
local PASS=${1:-${ROOT_PW}}; # use argument supplied or default root pw
local USER=${2:-${ROOT_USER}};
shift 2
local COMMAND=$@
echo "Executing command: ${COMMAND}..."
sshpass -p ${PASS} ssh ${USER}@${ADDRESS} ${COMMAND}
}
Если это выполняется без аргументов $1
и $2
, это нарушает функцию, поэтому на выходе будет что-то вроде sshpass -p ls -ltr ssh {USER}@{ADDRESS} ls -ltr
, если мой $COMMAND
равен ls -ltr
Как я могу обойти это?