Как системный администратор я обычно выполняю rdp и ssh на удаленных машинах для администрирования.
Я создал файл $ {SERVER_FILE}, содержащий одну запись в каждой строке с указанием имени хоста и протокола для использования при подключении к данному серверу.
Пример:
...
server1,ssh
winsrv,rdp
...
Учитывая приведенные выше записи, я хочу, чтобы следующее было создано + оценено (rdp сам по себе является скриптом в моей системе):
alias server1='ssh server1' winsrv='rdp winsrv'
Следующий код, когда я вырезал и вставил полученный результат в команду alias
, работает безупречно:
$ echo $(sed "s/\(.*\),\(rdp\|ssh\)/\1='\2 \1' /g" ${SERVER_FILE} | tr -d '\n')
server1='ssh server1' winsrv='rdp winsrv'
$ alias server1='ssh server1' winsrv='rdp winsrv'
$ alias
alias server1='ssh server1'
alias winsrv='rdp winsrv'
ТАК Я изменяю его на это, чтобы фактически создать псевдонимы, и я получаю ошибки:
$ alias $(sed "s/\(.*\),\(rdp\|ssh\)/\1='\2 \1' /g" ${SERVER_FILE} | tr -d '\n')
bash: alias: server1': not found
bash: alias: winsrv': not found
$ alias
alias server1=''\''ssh'
alias winsrv=''\''rdp'
Рекомендации