저는 sysadmin으로 일상적인 rdp 및 ssh를 사용하여 원격 시스템을 관리합니다..bashrc를 통해 bash 별칭 만들기
$ {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'
조언 :그래서 나는 실제로 별칭이 만들어 내가 에러가 발생되는 원인이로 변경?
'eval'별칭 $ (sed ...) "는 어떻게됩니까? * 단어 확장 *의 추가 단계가 없으므로 내게 더 튼튼 해 보입니다. 결과를 더 쉽게 이해할 수 있습니다. –
감사합니다.이 트릭을했습니다! 나는 Roland의 인용문을 훌륭한 결과와 통합했다. – Shaun