ssh를 실행하고 즉시 명령을 실행하십시오.
이 질문에는 이미 답변이 있습니다.
ssh 서버에 연결 한 후 명령을 실행하기 위해 UNIX 또는 bash 명령을 찾으려고합니다. 예를 들면 다음과 같습니다.
ssh name@ip "tmux list-sessions"
위의 코드가 작동하면 세션이 나열되지만 즉시 연결이 끊어집니다. 서버 쪽의 sshrc에 넣으면 작동하지만 클라이언트쪽에 입력 할 수 있어야합니다. 명령을 실행하고 로그인하고 창을 연 다음 설정 한 명령을 실행하고 싶습니다. 난 노력 했어
[command] | ssh name@ip
ssh name@ip [command]
ssh name@ip "[command]"
ssh -t name@ip [command]
ssh -t 'command; bash -l'
명령을 실행 한 다음 완료되면 로그인 쉘을 시작합니다. 예를 들면 다음과 같습니다.
ssh -t user@domain.com 'cd /some/path; bash -l'
옵션이 활성화 된 LocalCommand
경우 명령 줄 옵션을 사용할 수 있습니다 PermitLocalCommand
.
ssh username@hostname -o LocalCommand="tmux list-sessions"
사용 가능한 옵션에 대한 자세한 내용은 ssh_config
매뉴얼 페이지를 참조하십시오.
이것은 아니다 확실히 당신이 찾고있는,하지만 비슷한 상황에서 유용하다고 한 것을.
최근에 다음을 추가했습니다 $HOME/.bashrc
(bash 이외의 쉘에서 비슷한 것이 가능해야 함).
if [ -f $HOME/.add-screen-to-history ] ; then
history -s 'screen -dr'
fi
screen
하나의 특정 컴퓨터에서 세션을 계속 실행하고 ssh
있으며 해당 컴퓨터에 대한 연결이 끊어 질 때 문제가 발생하여 screen -dr
다시 연결할 때마다 다시 실행해야 합니다.
그 추가와 함께 내 홈 디렉토리에 해당 (빈) 파일을 만든 후 screen -dr
쉘이 시작될 때 자동으로 내 기록에 명령이 있습니다. 다시 연결 한 후 입력 만하면 Control-P Enter화면 세션으로 돌아갑니다. 또는 무시해도됩니다. 그것은 유연하지만 아니다 아주 자동 및 귀하의 경우는 입력보다 더 쉽다 tmux list-sessions
.
history -s
명령을 무조건 으로 만들 수 있습니다 .
이를 위해서는 $HOME/.bashrc
각 대상 시스템에서 업데이트해야하므로 목적에 맞지 않을 수도 있습니다.
참고 URL : https://stackoverflow.com/questions/18522647/run-ssh-and-immediately-execute-command
'development' 카테고리의 다른 글
C #에서 Char.IsDigit ()와 Char.IsNumber ()의 차이점 (0) | 2020.06.19 |
---|---|
Go에서 구조체의 스택과 힙 할당 및 가비지 수집과의 관계 (0) | 2020.06.19 |
IDE에서 디버깅이 더 나은 이유는 무엇입니까? (0) | 2020.06.18 |
javascript / jQuery를 사용하여 data- * 속성 목록 가져 오기 (0) | 2020.06.18 |
-moz- 및 -webkit-은 무엇입니까? (0) | 2020.06.18 |