I want to поверьте an иначе for xfreerdp, and I need to приложи тебя the/v: parameter in my иначе with the server ямс, that гm obviously providing when invoking this иначе.
Иначе:
alias r='xfreerdp /u:user /p:password /w:1300 /h:768 /sec:rdp /cert-ignore +cliprdr --plugin rdpsnd --plugin rdpdr --data disk:media:/tmp/RDP /v:'
Bash:
r mywindows.server.com
Result:
tcp_connect: getaddrinfo (Não há endereço associado com или nome) Ошибка: protocol security negotiation or connection failure
Is there в way to приложи тебя your bash иначе with the next parameter?
Thank you in advance.
Проблема состоит в том, что псевдоним расширяется и выполняется, прежде чем следующий аргумент достигнут, следовательно имя сервера не связывается к расширенному псевдониму.
В подобных случаях, Вы должны использовать функцию:
r_d () {
xfreerdp /u:user /p:password /w:1300 /h:768 /sec:rdp /cert-ignore +cliprdr --plugin rdpsnd --plugin rdpdr --data disk:media:/tmp/RDP /v:"$1"
}
Теперь Вы можете сделать:
r_d server.foobar.com
Вы не можете дать параметры псевдонимов, НО Вы можете обмануть его с xargs
, или более конкретно это - флаг -I
, который позволяет заменять последовательность. В этом примере я заменяю сообщение, это, чтобы заменить REPLACESTRING любым xargs получает.
Отредактированный псевдоним:
alias r='xargs -I REPLACESTRING xfreerdp /u:user /p:password /w:1300 /h:768 /sec:rdp /cert-ignore +cliprdr --plugin rdpsnd --plugin rdpdr --data disk:media:/tmp/RDP /v:REPLACESTRING'
Примечание: notsure, как Ваш xfreerdp
работы команды, я заметил другие флаги такой как /p:password
отпуск никакие места между флагом и полем данных, поэтому приспособьтесь /v:
и REPLACESTRING
интервал, поскольку Вы чувствуете себя необходимыми.
Пробег как так:
r <<< "server.somedomain.com"
или
echo "server.somedomain.com" | r
Используйте функцию в качестве псевдонима вместо команды только. Тогда Вы можете использовать параметр в теле функции, как это описано в другой ответ .